------------------------------------------------
---- Raeli's Spell Announcer Options Module ----
------------------------------------------------
local RSA = LibStub("AceAddon-3.0"):GetAddon("RSA")
local L = LibStub("AceLocale-3.0"):GetLocale("RSA")
local RSA_O = RSA:NewModule("RSA_Options", "LibSink-2.0")
local db
local defaults = {
	global = {
		version = 1.0,
	},
	profile = {
		Modules = {
			['*'] = false,
		},
		General = {
			['*'] = true,
			Class = "",
			GlobalAnnouncements = {
				['*'] = true,
				InPvP = false,
				InWorld = false,
				OnlyInCombat = false,
				Battlegrounds = false,
			},
			Local = {
				['*'] = true,
			},
			GlobalCustomChannel = "MyCustomChannel",
		},
		Reminders = {
			DisableInPvP = true,
			EnableInSpec1 = true,
			EnableInSpec2 = false,
			--[[ Not Important for now. Maybe eventually auto rebuffing will return.
			ScrollWheel = {
				Enabled = false,
				WheelUp = "",
				WheelDown = ""
			},]]--
			CheckInterval = 10,
			RemindInterval = 15,
			RemindChannels = {
				['*'] = true,
			},
		},
		sink20OutputSink = "ChatFrame", -- Default for LibSink-2.0
		--sink20ScrollArea = ,
		DeathKnight = {
			Reminders = {
				SpellName = "",
			},
			Spells = {
				Army = {
					Messages = {
						Start = "Casting [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = true,
					},
				}, -- End
				AMS = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				DarkCommand = {
					Messages = {
						Start = "Taunted [TARGET]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				IceboundFortitude = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Strangulate = {
					Messages = {
						Start = "Strangulated [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				MindFreeze = {
					Messages = {
						Start = "Mind Freezed [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				DeathGrip = {
					Messages = {
						Start = "Death Gripped [TARGET]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				VampiricBlood = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				BoneShield = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				UnholyFrenzy = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				RuneTap = {
					Messages = {
						Start = "Activated [LINK] for [AMOUNT]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				DancingRuneWeapon = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				WotN = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				DeathPact = {
					Messages = {
						Start = "Activated [LINK] for [AMOUNT]!!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				RaiseAlly = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End				
			},
		},
		Druid = {
			Reminders = {
				SpellName = "",
			},
			Spells = {
				SurvivalInstincts = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Cyclone = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				FrenziedRegeneration = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Hibernate = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Innervate = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				SkullBash = {
					Messages = {
						Start = "Interrupted [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Growl = {
					Messages = {
						Start = "Taunted [TARGET]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Revive = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Rebirth = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				TreeOfLife = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Barkskin = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Thorns = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				Tranquility = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				ChallengingRoar = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Berserk = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				RemoveCorruption = {
					Messages = {
						Start = "Removed [TARGET]'s [AURALINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				Roots = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Soothe = {
					Messages = {
						Start = "Purged [TARGET]'s [AURALINK]!",
						End = "[TARGET] resisted [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				StampedingRoar = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = true,
					},
				}, -- End
				SolarBeam = {
					Messages = {
						Start = "Interrupted [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End				
			},
		},
		Hunter = {
			Reminders = {
				SpellName = "",
			},
			Spells = {
				Misdirection = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				WidowVenom = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End				
				ConcussiveShot = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End				
				ScatterShot = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				FreezingTrap = {
					Messages = {
						Placement = "[LINK] Placed!",
						Start = "[LINK] hit [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End				
				SilencingShot = {
					Messages = {
						Start = "Interrupted [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End				
				TranquilizingShot = {
					Messages = {
						Start = "Removed [TARGET]'s [AURALINK]!",
						End = "[TARGET] resisted [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				WyvernSting = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End	
				Deterrence = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				Camoflage = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End				
				DistractingShot = {
					Messages = {
						Start = "Taunted [TARGET]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = true,
					},
				}, -- End
				
			},			
		},
		Mage = {
			Reminders = {
				SpellName = "Molten Armor",
			},
			Spells = {
				TimeWarp = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Spellsteal = {
					Messages = {
						Start = "Stole [TARGET]'s [AURALINK]!",
						End = "[TARGET] resisted [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Polymorph = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Counterspell = {
					Messages = {
						Start = "Counterspelled [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Portals = {
					Messages = {
						Start = "Casting [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Teleport = {
					Messages = {
						Start = "Warning you are Teleporting, and leaving your friends behind!",
					},
					Local = true,
				}, -- End
				RefreshmentTable = {
					Messages = {
						Start = "Casting [LINK], please assist!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				RingOfFrost = {
					Messages = {
						Start = "[LINK] activated!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Cauterize = {
					Messages = {
						Start = "[LINK] activated, please heal me!",
						End = "[LINK] faded, I'm no longer burning!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				IceBlock = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				FocusMagic = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End				
			},
		},
		Paladin = {
			Reminders = {
				SpellName = "Righteous Fury",
			},
			Spells = {
				ArdentDefender = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				AuraMastery = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				DivineProtection = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Forbearance = {
					Messages = {
						Start = "",
						End = "[LINK] on [TARGET] faded!",
					},
					Local = false,
				}, -- End
				DivineGuardian = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				HandOfFreedom = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				HandOfProtection = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				HandOfSacrifice = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				HandOfSalvation = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				LayOnHands = {
					Messages = {
						Start = "[LINK] on [TARGET] for [AMOUNT]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				GoAK = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Repentance = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Rebuke = {
					Messages = {
						Start = "Interrupted [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				HandOfReckoning = {
					Messages = {
						Start = "Taunted [TARGET]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				RighteousDefense = {
					Messages = {
						Start = "Taunted [TARGET]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Beacon = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = true,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				HammerOfJustice = {
					Messages = {
						Start = "Interrupted [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Redemption = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				AvengersShield = {
					Messages = {
						Start = "Interrupted [TARGET]'s [TARLINK]!",
						End = "",
						Immune = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = true,
					},
				}, -- End
				TurnEvil = {
					Messages = {
						Start = "[LINK] [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				HolyRadiance = {
					Messages = {
						Start = "[LINK] activated, stand close to me if it's safe!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				DivinePlea = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				HammerOfJustice = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End				
			},
		},
		Priest = {
			Reminders = {
				SpellName = "Inner Fire",
			},
			Spells = {
				LeapOfFaith = {
					Messages = {
						Start = "Pulling [TARGET] to Me!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				DivineHymn = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] over!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				HymnOfHope = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] over!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				FearWard = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = true,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				Levitate = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				ShackleUndead = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				DispelMagic = {
					Messages = {
						Start = "Dispelled [AURALINK] on [TARGET]!",
						End = "[TARGET] resisted [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
					HostileOnly = true,
				}, -- End
				GuardianSpirit = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
						Proc = "[LINK] just healed [TARGET] for [AMOUNT]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				PainSuppression = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Lightwell = {
					Messages = {
						Start = "[LINK] activated!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				PowerInfusion = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				LightwellRenew = {
					Messages = {
						Start = "[TARGET] has clicked the Lightwell!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = true,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				PowerWordBarrier = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				CureDisease = {
					Messages = {
						Start = "Cured [TARGET]'s [AURALINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				Resurrection = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Fade = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				PsychicScream = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				MindSoothe = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				MindControl = {
					Messages = {
						Casting = "Casting [LINK] on [TARGET]!",
						Start = "Mindcontrolling [TARGET] Now!",						
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End				
			},
		},
		Rogue = {
			Reminders = {
				SpellName = "",
			},
			Spells = {
				Sap = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Blind = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
						Resist = "My [LINK] [MISSTYPE] [TARGET]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Kick = {
					Messages = {
						Start = "Interrupted [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Dismantle = {
					Messages = {
						Start = "Dismantled [TARGET]!",
						End = "[LINK] faded from [TARGET]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Tricks = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] gave you an additional [AMOUNT] damage!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
			},
		},
		Shaman = {
			Reminders = {
				SpellName = "",
			},
			Spells = {
				Hex = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Heroism = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				BindElemental = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				WindShear = {
					Messages = {
						Start = "Interrupted [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Purge = {
					Messages = {
						Start = "Purged [TARGET]'s [AURALINK]!",
						End = "[TARGET] resisted [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				CleanseSpirit = {
					Messages = {
						Start = "Cleansed [TARGET]'s [AURALINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				ManaTide = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				AncestralSpirit = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
			},
		},
		Warlock = {
			Reminders = {
				SpellName = "Fel Armor",
			},
			Spells = {
				SoulWell = {
					Messages = {
						Start = "Casting [LINK], please assist!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				SummonStone = {
					Messages = {
						Start = "Casting [LINK], please assist!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Suffering = {
					Messages = {
						Start = "Taunted [TARGET]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				SingeMagic = {
					Messages = {
						Start = "[LINK] on [TARGET] removed [AURALINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				Banish = {
					Messages = {
						Start = "Banished [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Fear = {
					Messages = {
						Start = "Fearing [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Seduce = {
					Messages = {
						Start = "Seducing [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				SpellLock = {
					Messages = {
						Start = "Spell Locked [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Devour = {
					Messages = {
						Start = "Devoured [TARGET]'s [AURALINK]!",
						End = "[TARGET] resisted [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Soulstone = {
					Messages = {
						Start = "Soulstoned [TARGET]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = true,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				DeathCoil = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				Shadowfury = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End		
				HowlOfTerror = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				DarkIntent = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End				
			}, -- End Spells
		}, -- End Warlock
		Warrior = {
			Reminders = {
				SpellName = "",
			},
			Spells = {
				ShatteringThrow = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "[LINK] on [TARGET] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				ShieldWall = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				ChallengingShout = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Pummel = {
					Messages = {
						Start = "Pummeled [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Disarm = {
					Messages = {
						Start = "Disarmed [TARGET]!",
						End = "[TARGET] is armed again!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				ShieldBash = {
					Messages = {
						Start = "Shield Bashed [TARGET]'s [TARLINK]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Taunt = {
					Messages = {
						Start = "Taunted [TARGET]!",
						End = "My [LINK] [MISSTYPE] [TARGET]!",
						Immune = "[TARGET] is [MISSTYPE] to my [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Vigilance = {
					Messages = {
						Start = "[LINK] cast on [TARGET]!",
						End = "[LINK] on [TARGET] ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				LastStand = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				EnragedRegeneration = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				ShieldBlock = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				SpellReflect = {
					Messages = {
						Start = "Reflected [TARGET]'s [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Whisper = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Throwdown = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "[LINK] on [TARGET] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = true,
						Say = false,
					},
				}, -- End
				Recklessness = {
					Messages = {
						Start = "[LINK] activated!",
						End = "[LINK] faded!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				ShieldSlamDispel = {
					Messages = {
						Start = "Dispelled [TARGET]'s [AURALINK]!",
						End = "[TARGET] resisted [LINK]!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End
				ConcussionBlow = {
					Messages = {
						Start = "[LINK] on [TARGET]!",
						End = "[LINK] on [TARGET] has ended!",
					},
					CustomChannel = {
						Enabled = false,
						Channel = "",
					},
					Local = false,
					Raid = false,
					Party = false,
					Smart = {
						RaidParty = false,
						Say = false,
					},
				}, -- End				
			},
		},
	}, -- End Profile
} -- End Defaults
------------------------
---- Global Options ----
local Options = {
	type = "group",
	name = "Raeli's Spell Announcer - " .. L.Version,
	order = 0,
	childGroups = "tab",
	args = {
		About = {
			name = "Global Options",
			type = "group",
			order = 0,
			args = {
				About_Header = {
					type = "description",
					name = L.AboutTitle,
					fontSize = "medium",
					order = 1,
				},
				About_Description = {
					type = "description",
					name = L.About,
					order = 2,
				},
				Modules_Header = {
					type = "header",
					name = "Module Settings",
					order = 3,
				},
				Buff_Reminders = {
					order = 5,
					type = "toggle",
					name = "|cff00CCFFEnable Buff Reminder Module|r",
					width = "full",
					descStyle = "inline",
					desc = "This Module allows you to be reminded when you have a buff missing.",
					get = function(info)
							return RSA.db.profile.Modules.Reminders
						end,
					set = function(info, value)
							RSA.db.profile.Modules.Reminders = value
							if value == false and (LoadAddOn("RSA_Reminders") == 1) then
							RSA:DisableModule("Reminders")
							elseif value == true then
								local loaded, reason = LoadAddOn("RSA_Reminders")
								if not loaded then
									if reason == "DISABLED" or reason == "INTERFACE_VERSION" then
										ChatFrame1:AddMessage("|cFFFF75B3RSA:|r Reminders " .. L.OptionsDisabled)
									elseif reason == "MISSING" or reason == "CORRUPT" then
										ChatFrame1:AddMessage("|cFFFF75B3RSA:|r Reminders " .. L.OptionsMissing)
									end
								else
									RSA:EnableModule("Reminders")
								end
							end
						end,
				},
				GlobalAnnouncementOptions_Head = {
					type = "header",
					name = "Global Announcement Options",
					order = 10,
				},
				GlobalAnnouncementOptions_Desc = {
					type = "description",
					name = "These options affect all spells, hover over each to see a full description of what it does.",
					order = 11,
				},
				SayWhileGrouped = {
					type = "toggle",
					name = "Smart Say",
					order = 40,
					desc = "Enabling this will only cause you to announce selected spells in say |cffFF0000only|r while you are grouped.",
					get = function(info)
							return RSA.db.profile.General.GlobalAnnouncements.SmartSay
						end,
					set = function (info, value)
							RSA.db.profile.General.GlobalAnnouncements.SmartSay = value
						end,
				},
				CustomChannelWhileGrouped = {
					type = "toggle",
					name = "Smart Custom Channel",
					order = 40,
					desc = "Enabling this will only cause you to announce selected spells in your custom channel |cffFF0000only|r while you are grouped.",
					get = function(info)
							return RSA.db.profile.General.GlobalAnnouncements.SmartCustomChannel
						end,
					set = function(info, value)
							RSA.db.profile.General.GlobalAnnouncements.SmartCustomChannel = value
						end,
				},
				OnlyInCombat = {
					type = "toggle",
					name = "|cff00CCFFEnable Only In Combat|r",
					width = "full",
					order = 49,
					desc = "Enabling this will cause you to only send announcements while you are in combat.",
					get = function(info)
							return RSA.db.profile.General.GlobalAnnouncements.OnlyInCombat
						end,
					set = function(info, value)
							RSA.db.profile.General.GlobalAnnouncements.OnlyInCombat = value
						end,
				},
				InArenas = {
					type = "toggle",
					name = "Enable in Arenas",
					width = "full",
					order = 50,
					desc = "Enabling this will allow you to announce while in Arenas.",
					get = function(info)
							return RSA.db.profile.General.GlobalAnnouncements.Arena
						end,
					set = function(info, value)
							RSA.db.profile.General.GlobalAnnouncements.Arena = value
						end,
				},
				InBattlegrounds = {
					type = "toggle",
					name = "Enable in Battlegrounds",
					width = "full",
					order = 50,
					desc = "Enabling this will allow you to announce while in Battlegrounds.",				
					get = function(info)
							return RSA.db.profile.General.GlobalAnnouncements.Battlegrounds
						end,
					set = function(info, value)
							RSA.db.profile.General.GlobalAnnouncements.Battlegrounds = value
						end,
				},					
				InDungeon = {
					type = "toggle",
					name = "Enable in Dungeons",
					width = "full",
					order = 50,
					desc = "Enabling this will allow you to announce while in 5 Person Dungeons and Heroics.",
					get = function(info)
							return RSA.db.profile.General.GlobalAnnouncements.InDungeon
						end,
					set = function(info, value)
							RSA.db.profile.General.GlobalAnnouncements.InDungeon = value
						end,
				},
				InRaids = {
					type = "toggle",
					name = "Enable in Raid Instances",
					width = "full",
					order = 50,
					desc = "Enabling this will allow you to announce while in Raid Instances.",
					get = function(info)
							return RSA.db.profile.General.GlobalAnnouncements.InRaid
						end,
					set = function(info, value)
							RSA.db.profile.General.GlobalAnnouncements.InRaid = value
						end,
				},
				InTolBarad = {
					type = "toggle",
					name = "Enable in Tol Barad",
					width = "full",
					order = 50,
					desc = "Enabling this will allow you to announce while in Tol Barad.",		
					get = function(info)
							return RSA.db.profile.General.GlobalAnnouncements.InTolBarad
						end,
					set = function(info, value)
							RSA.db.profile.General.GlobalAnnouncements.InTolBarad = value
						end,
				},				
				InWorld = {
					type = "toggle",
					name = "Enable in the World",
					width = "full",
					order = 55,
					desc = "Enabling this will allow you to announce while in the normal World. In any situation not listed by all other options, basically.",
					get = function(info)
							return RSA.db.profile.General.GlobalAnnouncements.InWorld
						end,
					set = function(info, value)
							RSA.db.profile.General.GlobalAnnouncements.InWorld = value
						end,
				},
				InPvP = {
					type = "toggle",
					name = "Enable in PvP",
					width = "full",
					order = 55,
					desc = "Enabling this will allow you to announce while you are PvP active, regardless of location. Enabling this will hide the specific location options for PvP areas.",
					get = function(info)
							return RSA.db.profile.General.GlobalAnnouncements.InPvP
						end,
					set = function(info, value)
							RSA.db.profile.General.GlobalAnnouncements.InPvP = value
						end,
				},
			},
		},
	},
}
-----------------
---- LibSink ----
Options.args.output = RSA_O:GetSinkAce3OptionsDataTable() -- Add LibSink Options.
Options.args.output.args.Channel = nil -- Hide Channel options, we don't want those.
Options.args.output.name = L["Local Message Output Area"]
Options.args.output.desc = L.Local_Desc
--------------------------
---- Reminder Options ----
local Reminders = {
	type = "group",
	name = L["Reminder Options"],
	order = 1,
	childGroups = "tab",
	disabled = function()
				if RSA.db.profile.Modules.Reminders ~= true then
					return true
				end
			end,
	args = {
		Description = {
			type = "description",
			name = L.Reminder_Options,
			fontSize = "medium",
			hidden = function()
				return RSA.db.profile.Modules.Reminders == false
			end,
			order = 4,
		},
		Disabled_Description = {
			type = "description",
			name = L.Disabled_Reminder_Options,
			fontSize = "medium",
			hidden = function()
				return RSA.db.profile.Modules.Reminders == true
			end,
			order = 4,
		},
		--[[Title = {
			type = "header",
			name = L["Reminder Spell"],
			order = 5,
		},]]--
		Break = {
			type = "description",
			name = "",
			order = 5,
		},
		DeathKnight = {
			type = "input",
			width = "full",
			name = L["Spell to check:"],
			desc = L.DescSpellRemindName,
			order = 9,
			hidden = function()
				return RSA.db.profile.General.Class ~= "DEATHKNIGHT"
			end,
			get = function(info)
					return RSA.db.profile.DeathKnight.Reminders.SpellName
				end,
			set = function(info, value)
					RSA.db.profile.DeathKnight.Reminders.SpellName = value
				end,
		},
		Druid = {
			type = "input",
			width = "full",
			name = L["Spell to check:"],
			desc = L.DescSpellRemindName,
			order = 9,
			hidden = function()
				return RSA.db.profile.General.Class ~= "DRUID"
			end,
			get = function(info)
					return RSA.db.profile.Druid.Reminders.SpellName
				end,
			set = function(info, value)
					RSA.db.profile.Druid.Reminders.SpellName = value
				end,
		},
		Hunter = {
			type = "input",
			width = "full",
			name = L["Spell to check:"],
			desc = L.DescSpellRemindName,
			order = 9,
			hidden = function()
				return RSA.db.profile.General.Class ~= "HUNTER"
			end,
			get = function(info)
					return RSA.db.profile.Hunter.Reminders.SpellName
				end,
			set = function(info, value)
					RSA.db.profile.Hunter.Reminders.SpellName = value
				end,
		},
		Mage = {
			type = "input",
			width = "full",
			name = L["Spell to check:"],
			desc = L.DescSpellRemindName,
			order = 9,
			hidden = function()
				return RSA.db.profile.General.Class ~= "MAGE"
			end,
			get = function(info)
					return RSA.db.profile.Mage.Reminders.SpellName
				end,
			set = function(info, value)
					RSA.db.profile.Mage.Reminders.SpellName = value
				end,
		},
		Paladin = {
			type = "input",
			width = "full",
			name = L["Spell to check:"],
			desc = L.DescSpellRemindName,
			order = 9,
			hidden = function()
				return RSA.db.profile.General.Class ~= "PALADIN"
			end,
			get = function(info)
					return RSA.db.profile.Paladin.Reminders.SpellName
				end,
			set = function(info, value)
					RSA.db.profile.Paladin.Reminders.SpellName = value
				end,
		},
		Priest = {
			type = "input",
			width = "full",
			name = L["Spell to check:"],
			desc = L.DescSpellRemindName,
			order = 9,
			hidden = function()
				return RSA.db.profile.General.Class ~= "PRIEST"
			end,
			get = function(info)
					return RSA.db.profile.Priest.Reminders.SpellName
				end,
			set = function(info, value)
					RSA.db.profile.Priest.Reminders.SpellName = value
				end,
		},
		Rogue = {
			type = "input",
			width = "full",
			name = L["Spell to check:"],
			desc = L.DescSpellRemindName,
			order = 9,
			hidden = function()
				return RSA.db.profile.General.Class ~= "ROGUE"
			end,
			get = function(info)
					return RSA.db.profile.Rogue.Reminders.SpellName
				end,
			set = function(info, value)
					RSA.db.profile.Rogue.Reminders.SpellName = value
				end,
		},
		Shaman = {
			type = "input",
			width = "full",
			name = L["Spell to check:"],
			desc = L.DescSpellRemindName,
			order = 9,
			hidden = function()
				return RSA.db.profile.General.Class ~= "SHAMAN"
			end,
			get = function(info)
					return RSA.db.profile.Shaman.Reminders.SpellName
				end,
			set = function(info, value)
					RSA.db.profile.Shaman.Reminders.SpellName = value
				end,
		},
		Warlock = {
			type = "input",
			width = "full",
			name = L["Spell to check:"],
			desc = L.DescSpellRemindName,
			order = 9,
			hidden = function()
				return RSA.db.profile.General.Class ~= "WARLOCK"
			end,
			get = function(info)
					return RSA.db.profile.Warlock.Reminders.SpellName
				end,
			set = function(info, value)
					RSA.db.profile.Warlock.Reminders.SpellName = value
				end,
		},
		Warrior = {
			type = "input",
			width = "full",
			name = L["Spell to check:"],
			desc = L.DescSpellRemindName,
			order = 9,
			hidden = function()
				return RSA.db.profile.General.Class ~= "WARRIOR"
			end,
			get = function(info)
					return RSA.db.profile.Warrior.Reminders.SpellName
				end,
			set = function(info, value)
					RSA.db.profile.Warrior.Reminders.SpellName = value
				end,
		},
		--[[Title2 = {
			type = "header",
			name = L["Enabling Options"],
			order = 11,
		},]]--
		DisableInPvP = {
			type = "toggle",
			name = L["Disable in PvP"],
			desc = L["Turns off the spell reminders while you have PvP active."],
			order = 12,
			get = function(info)
					return RSA.db.profile.Reminders.DisableInPvP
				end,
			set = function(info, value)
					RSA.db.profile.Reminders.DisableInPvP = value
				end,
		},
		EnableInSpec1 = {
			type = "toggle",
			name = L["Enable in Primary Specialisation"],
			desc = L["Enables reminding of missing buffs while in your Primary Talent Specialisation"],
			width = "full",
			order = 13,
			get = function(info)
					return RSA.db.profile.Reminders.EnableInSpec1
				end,
			set = function(info, value)
					RSA.db.profile.Reminders.EnableInSpec1 = value
				end,
		},
		EnableInSpec2 = {
			type = "toggle",
			name = L["Enable in Secondary Specialisation"],
			desc = L["Enables reminding of missing buffs while in your Secondary Talent Specialisation"],
			width = "full",
			order = 14,
			get = function(info)
					return RSA.db.profile.Reminders.EnableInSpec2
				end,
			set = function(info, value)
					RSA.db.profile.Reminders.EnableInSpec2 = value
				end,
		},
		Title3 = {
			type = "header",
			name = L["Warning Intervals"],
			order = 15,
		},
		CheckInterval = {
			type = "range",
			name = L["Check Interval"],
			desc = L["How often you want to check for missing buffs."],
			order = 16,
			width = "full",
			min = 1,
			max = 60,
			step = 0.5,
			get = function(info)
					return RSA.db.profile.Reminders.CheckInterval
				end,
			set = function(info, value)
					RSA.db.profile.Reminders.CheckInterval = value
				end,
		},
		RemindInterval = {
			type = "range",
			name = L["Remind Interval"],
			desc = L["How often you want to be reminded about missing buffs."],
			order = 17,
			width = "full",
			min = 1,
			max = 60,
			step = 0.5,
			get = function(info)
					return RSA.db.profile.Reminders.RemindInterval
				end,
			set = function(info, value)
					RSA.db.profile.Reminders.RemindInterval = value
				end,
		},
		Title4 = {
			type = "header",
			name = L["Reminder Locations"],
			order = 18,
		},
		Chat = {
			type = "toggle",
			name = L["Chat Window"],
			desc = L["Sends reminders to your default chat window."],
			order = 19,
			get = function(info)
					return RSA.db.profile.Reminders.RemindChannels.Chat
				end,
			set = function(info, value)
					RSA.db.profile.Reminders.RemindChannels.Chat = value
				end,
		},
		RaidWarn = {
			type = "toggle",
			name = L["Raid Warning Frame"],
			desc = L["Sends reminders to your Raid Warning frame at the center of the screen."],
			order = 20,
			get = function(info)
					return RSA.db.profile.Reminders.RemindChannels.RaidWarn
				end,
			set = function(info, value)
					RSA.db.profile.Reminders.RemindChannels.RaidWarn = value
				end,
		},
	},
}
-------------
---- FAQ ----
local FAQ = {
	type = "group",
	name = L["Help!"],
	order = 50,
	childGroups = "tab",
	args = {
		Description = {
			type = "description",
			name = "Not sure about something? Hopefully this will help!",
			fontSize = "medium",
			order = 10,
		},
		Channels = {
			type = "group",
			name = "Channels",
			order = 20,
			args = {
				Channels_Help = {
					type = "description",
					name = L.FAQ_Channels,
					order = 21,
				},
			},
		},
		Global_Options = {
			type = "group",
			name = "Global Options",
			order = 30,
			args = {
				Global_Help = {
					type = "description",
					name = L.FAQ_Global,
					order = 31,
				},
			},
		},
		Custom_Channel = {
			type = "group",
			name = "Custom Channels",
			order = 40,
			args = {
				Custom_Channel_Help = {
					type = "description",
					name = L.FAQ_Channel,
					order = 41,
				},
			},
		},
		Local = {
			type = "group",
			name = "Local Messages",
			order = 50,
			args = {
				Local_Help = {
					type = "description",
					name = L.FAQ_Local,
					order = 51,
				},
			},
		},
		Spell_Options = {
			type = "group",
			name = "Spell Options",
			order = 60,
			args = {
				Spell_Options_Help = {
					type = "description",
					name = L.FAQ_Spell_Help,
					order = 61,
				},
			},
		},
	},
}
-----------------------------
---- Death Knight Options ----
local DeathKnight = {
	type = "group",
	name = "|cFFC41F3B" .. L["Spell Options"] .."|r",
	order = 2,
	childGroups = "select",
	args = {
		Description = {
			type = "description",
			name = L.Spell_Options,
			fontSize = "medium",
			order = 0,
		},
		IceboundFortitude = {
			type = "group",
			name = "Icebound Fortitude",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.IceboundFortitude.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.IceboundFortitude.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.IceboundFortitude.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.IceboundFortitude.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.IceboundFortitude.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.IceboundFortitude.Messages.End = value
						end,
				},
			},
		},
		VampiricBlood = {
			type = "group",
			name = "Vampiric Blood",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.VampiricBlood.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.VampiricBlood.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.VampiricBlood.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.VampiricBlood.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.VampiricBlood.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.VampiricBlood.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.VampiricBlood.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.VampiricBlood.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.VampiricBlood.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.VampiricBlood.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.VampiricBlood.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.VampiricBlood.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.VampiricBlood.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.VampiricBlood.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.VampiricBlood.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.VampiricBlood.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.VampiricBlood.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.VampiricBlood.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.VampiricBlood.Messages.End = value
						end,
				},
			},
		},
		BoneShield = {
			type = "group",
			name = "Bone Shield",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.BoneShield.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.BoneShield.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.BoneShield.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.BoneShield.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.BoneShield.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.BoneShield.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.BoneShield.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.BoneShield.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.BoneShield.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.BoneShield.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.BoneShield.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.BoneShield.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.BoneShield.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.BoneShield.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.BoneShield.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.BoneShield.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.BoneShield.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.BoneShield.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.BoneShield.Messages.End = value
						end,
				},
			},
		},
		AMS = {
			type = "group",
			name = "Anti-Magic Shell",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.AMS.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.AMS.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.AMS.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.AMS.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.AMS.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.AMS.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.AMS.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.AMS.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.AMS.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.AMS.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.AMS.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.AMS.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.AMS.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.AMS.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.AMS.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.AMS.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.AMS.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.AMS.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.AMS.Messages.End = value
						end,
				},
			},
		},
		Army = {
			type = "group",
			name = "Army of the Dead",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Army.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Army.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Army.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Army.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.Army.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Army.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Army.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Army.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Army.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.Army.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.Army.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Army.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Army.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Army.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Army.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Army.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.Army.Messages.Start = value
						end,
				},
			},
		},
		DarkCommand = {
			type = "group",
			name = "Dark Command",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DarkCommand.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DarkCommand.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DarkCommand.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DarkCommand.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DarkCommand.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DarkCommand.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.DarkCommand.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DarkCommand.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DarkCommand.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DarkCommand.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DarkCommand.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.DarkCommand.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.DarkCommand.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DarkCommand.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DarkCommand.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DarkCommand.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DarkCommand.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescMissable,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DarkCommand.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.DarkCommand.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DarkCommand.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.DarkCommand.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DarkCommand.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.DarkCommand.Messages.Immune = value
						end,
				},
			},
		},
		DeathGrip = {
			type = "group",
			name = "Death Grip",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathGrip.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathGrip.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathGrip.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathGrip.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathGrip.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathGrip.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.DeathGrip.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathGrip.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathGrip.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathGrip.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathGrip.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.DeathGrip.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.DeathGrip.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathGrip.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathGrip.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathGrip.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathGrip.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescMissable,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathGrip.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.DeathGrip.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathGrip.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.DeathGrip.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathGrip.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.DeathGrip.Messages.Immune = value
						end,
				},
			},
		},
		Strangulate = {
			type = "group",
			name = "Strangulate",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Strangulate.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Strangulate.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Strangulate.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Strangulate.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Strangulate.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Strangulate.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.Strangulate.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Strangulate.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Strangulate.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Strangulate.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Strangulate.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.Strangulate.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.Strangulate.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Strangulate.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Strangulate.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Strangulate.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.Strangulate.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Strangulate.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.Strangulate.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Strangulate.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.Strangulate.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.Strangulate.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.Strangulate.Messages.Immune = value
						end,
				},
			},
		},
		MindFreeze = {
			type = "group",
			name = "Mind Freeze",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.MindFreeze.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.MindFreeze.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.MindFreeze.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.MindFreeze.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.MindFreeze.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.MindFreeze.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.MindFreeze.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.MindFreeze.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.MindFreeze.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.MindFreeze.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.MindFreeze.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.MindFreeze.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.MindFreeze.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.MindFreeze.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.MindFreeze.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.MindFreeze.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.MindFreeze.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.MindFreeze.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.MindFreeze.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.MindFreeze.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.MindFreeze.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.MindFreeze.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.MindFreeze.Messages.Immune = value
						end,
				},
			},
		},
		UnholyFrenzy = {
			type = "group",
			name = "Unholy Frenzy",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.UnholyFrenzy.Messages.End = value
						end,
				},
			},
		},
		RuneTap = {
			type = "group",
			name = "Rune Tap",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RuneTap.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RuneTap.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RuneTap.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RuneTap.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RuneTap.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RuneTap.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.RuneTap.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RuneTap.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RuneTap.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RuneTap.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RuneTap.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.RuneTap.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.RuneTap.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RuneTap.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RuneTap.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RuneTap.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RuneTap.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescHeal,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RuneTap.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.RuneTap.Messages.Start = value
						end,
				},
				--[[End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RuneTap.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.RuneTap.Messages.End = value
						end,
				},]]--
			},
		},
		DancingRuneWeapon = {
			type = "group",
			name = "Dancing Rune Weapon",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.DancingRuneWeapon.Messages.End = value
						end,
				},
			},
		},
		WotN = {
			type = "group",
			name = "Will of the Necropolis",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.WotN.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.WotN.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.WotN.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.WotN.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.WotN.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.WotN.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.WotN.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.WotN.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.WotN.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.WotN.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.WotN.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.WotN.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.WotN.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.WotN.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.WotN.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.WotN.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.WotN.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.WotN.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.WotN.Messages.End = value
						end,
				},
			},
		},
		DeathPact = {
			type = "group",
			name = "Death Pact",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathPact.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathPact.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathPact.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathPact.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathPact.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathPact.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.DeathPact.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathPact.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathPact.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathPact.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathPact.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.DeathPact.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.DeathPact.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathPact.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathPact.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathPact.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.DeathPact.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescHeal,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathPact.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.DeathPact.Messages.Start = value
						end,
				},
				--[[End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.DeathPact.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.DeathPact.Messages.End = value
						end,
				},]]--
			},
		},
		RaiseAlly = {
			type = "group",
			name = GetSpellInfo(61999),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RaiseAlly.Local
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RaiseAlly.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RaiseAlly.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RaiseAlly.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RaiseAlly.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RaiseAlly.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.DeathKnight.Spells.RaiseAlly.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RaiseAlly.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RaiseAlly.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RaiseAlly.Raid
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RaiseAlly.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.DeathKnight.Spells.RaiseAlly.Party
							end,
					set = function (info, value)
								RSA.db.profile.DeathKnight.Spells.RaiseAlly.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RaiseAlly.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RaiseAlly.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RaiseAlly.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.DeathKnight.Spells.RaiseAlly.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.DeathKnight.Spells.RaiseAlly.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.DeathKnight.Spells.RaiseAlly.Messages.Start = value
						end,
				},
			},
		},		
	},
}
-----------------------
---- Druid Options ----
local Druid = {
	type = "group",
	name = "|cFFFF7D0A" .. L["Spell Options"] .."|r",
	order = 2,
	childGroups = "select",
	args = {
		Description = {
			type = "description",
			name = L.Spell_Options,
			fontSize = "medium",
			order = 0,
		},
		SurvivalInstincts = {
			type = "group",
			name = "Survival Instincts",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SurvivalInstincts.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SurvivalInstincts.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SurvivalInstincts.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SurvivalInstincts.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.SurvivalInstincts.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SurvivalInstincts.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SurvivalInstincts.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SurvivalInstincts.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SurvivalInstincts.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.SurvivalInstincts.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.SurvivalInstincts.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SurvivalInstincts.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SurvivalInstincts.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SurvivalInstincts.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SurvivalInstincts.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SurvivalInstincts.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.SurvivalInstincts.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SurvivalInstincts.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.SurvivalInstincts.Messages.End = value
						end,
				},
			},
		},
		FrenziedRegeneration = {
			type = "group",
			name = "Frenzied Regeneration",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.FrenziedRegeneration.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.FrenziedRegeneration.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.FrenziedRegeneration.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.FrenziedRegeneration.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.FrenziedRegeneration.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.FrenziedRegeneration.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.FrenziedRegeneration.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.FrenziedRegeneration.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.FrenziedRegeneration.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.FrenziedRegeneration.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.FrenziedRegeneration.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.FrenziedRegeneration.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.FrenziedRegeneration.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.FrenziedRegeneration.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.FrenziedRegeneration.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.FrenziedRegeneration.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.FrenziedRegeneration.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.FrenziedRegeneration.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.FrenziedRegeneration.Messages.End = value
						end,
				},
			},
		},
		Cyclone = {
			type = "group",
			name = "Cyclone",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Cyclone.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Cyclone.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Cyclone.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Cyclone.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Cyclone.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Cyclone.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Cyclone.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Cyclone.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Cyclone.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Cyclone.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Cyclone.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Cyclone.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Cyclone.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Cyclone.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Cyclone.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Cyclone.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Cyclone.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Cyclone.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Cyclone.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Cyclone.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Cyclone.Messages.End = value
						end,
				},
			},
		},
		Hibernate = {
			type = "group",
			name = "Hibernate",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Hibernate.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Hibernate.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Hibernate.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Hibernate.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Hibernate.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Hibernate.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Hibernate.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Hibernate.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Hibernate.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Hibernate.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Hibernate.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Hibernate.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Hibernate.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Hibernate.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Hibernate.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Hibernate.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Hibernate.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Hibernate.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Hibernate.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Hibernate.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Hibernate.Messages.End = value
						end,
				},
			},
		},
		Innervate = {
			type = "group",
			name = "Innervate",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Innervate.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Innervate.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Innervate.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Innervate.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Innervate.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Innervate.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Innervate.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Innervate.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Innervate.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Innervate.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Innervate.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Innervate.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Innervate.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Innervate.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Innervate.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Innervate.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Innervate.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Innervate.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Innervate.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Innervate.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Innervate.Messages.End = value
						end,
				},
			},
		},
		SkullBash = {
			type = "group",
			name = "Skull Bash",
			order = 25,
			desc = "|cffFF0000Warning:|r Skull Bash currently doesn't work correctly due to a bug in WoW where it doesn't send the correct information to the combat log when used. RSA uses combat log data to make it's announcements, so when it is fixed, this will work.",
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SkullBash.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SkullBash.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SkullBash.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SkullBash.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SkullBash.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SkullBash.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.SkullBash.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SkullBash.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SkullBash.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SkullBash.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SkullBash.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.SkullBash.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.SkullBash.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SkullBash.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SkullBash.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SkullBash.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SkullBash.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SkullBash.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.SkullBash.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SkullBash.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.SkullBash.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SkullBash.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.SkullBash.Messages.Immune = value
						end,
				},
			},
		},
		Growl = {
			type = "group",
			name = "Growl",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Growl.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Growl.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Growl.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Growl.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Growl.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Growl.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Growl.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Growl.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Growl.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Growl.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Growl.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Growl.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Growl.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Growl.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Growl.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Growl.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Growl.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescMissable,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Growl.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Growl.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Growl.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Growl.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Growl.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Growl.Messages.Immune = value
						end,
				},
			},
		},
		Revive = {
			type = "group",
			name = "Revive",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Revive.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Revive.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Revive.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Revive.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Revive.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Revive.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Revive.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Revive.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Revive.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Revive.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Revive.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Revive.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Revive.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Revive.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Revive.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Revive.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Revive.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Revive.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Revive.Messages.Start = value
						end,
				},
				--[[End = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Revive.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Revive.Messages.End = value
						end,
				},    ]]--
			},
		},
		Rebirth = {
			type = "group",
			name = "Rebirth",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Rebirth.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Rebirth.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Rebirth.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Rebirth.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Rebirth.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Rebirth.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Rebirth.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Rebirth.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Rebirth.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Rebirth.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Rebirth.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Rebirth.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Rebirth.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Rebirth.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Rebirth.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Rebirth.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Rebirth.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Rebirth.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Rebirth.Messages.Start = value
						end,
				},
				--[[End = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Rebirth.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Rebirth.Messages.End = value
						end,
				},    ]]--
			},
		},
		TreeOfLife = {
			type = "group",
			name = "Tree Of Life",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.TreeOfLife.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.TreeOfLife.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.TreeOfLife.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.TreeOfLife.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.TreeOfLife.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.TreeOfLife.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.TreeOfLife.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.TreeOfLife.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.TreeOfLife.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.TreeOfLife.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.TreeOfLife.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.TreeOfLife.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.TreeOfLife.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.TreeOfLife.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.TreeOfLife.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.TreeOfLife.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.TreeOfLife.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.TreeOfLife.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.TreeOfLife.Messages.End = value
						end,
				},
			},
		},
		Barkskin = {
			type = "group",
			name = "Barkskin",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Barkskin.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Barkskin.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Barkskin.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Barkskin.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Barkskin.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Barkskin.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Barkskin.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Barkskin.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Barkskin.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Barkskin.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Barkskin.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Barkskin.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Barkskin.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Barkskin.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Barkskin.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Barkskin.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Barkskin.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Barkskin.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Barkskin.Messages.End = value
						end,
				},
			},
		},
		Thorns = {
			type = "group",
			name = "Thorns",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Thorns.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Thorns.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Thorns.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Thorns.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Thorns.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Thorns.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Thorns.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Thorns.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Thorns.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Thorns.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Thorns.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Thorns.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Thorns.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Thorns.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Thorns.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Thorns.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Thorns.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Thorns.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Thorns.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Thorns.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Thorns.Messages.End = value
						end,
				},
			},
		},
		Tranquility = {
			type = "group",
			name = "Tranquility",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Tranquility.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Tranquility.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Tranquility.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Tranquility.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Tranquility.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Tranquility.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Tranquility.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Tranquility.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Tranquility.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Tranquility.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Tranquility.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Tranquility.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Tranquility.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Tranquility.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Tranquility.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Tranquility.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Tranquility.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Tranquility.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Tranquility.Messages.End = value
						end,
				},
			},
		},
		ChallengingRoar = {
			type = "group",
			name = "Challenging Roar",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.ChallengingRoar.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.ChallengingRoar.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Druid.Spells.ChallengingRoar.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.ChallengingRoar.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.ChallengingRoar.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.ChallengingRoar.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.ChallengingRoar.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.ChallengingRoar.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.ChallengingRoar.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.ChallengingRoar.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.ChallengingRoar.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.ChallengingRoar.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.ChallengingRoar.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.ChallengingRoar.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.ChallengingRoar.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.ChallengingRoar.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.ChallengingRoar.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.ChallengingRoar.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.ChallengingRoar.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.ChallengingRoar.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.ChallengingRoar.Messages.End = value
						end,
				},
			},
		},
		Berserk = {
			type = "group",
			name = "Berserk",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Berserk.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Berserk.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Berserk.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Berserk.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Berserk.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Berserk.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Berserk.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Berserk.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Berserk.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Berserk.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Berserk.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Berserk.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Berserk.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Berserk.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Berserk.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Berserk.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Berserk.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Berserk.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Berserk.Messages.End = value
						end,
				},
			},
		},
		RemoveCorruption = {
			type = "group",
			name = "Remove Corruption",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.RemoveCorruption.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.RemoveCorruption.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Druid.Spells.RemoveCorruption.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.RemoveCorruption.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.RemoveCorruption.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.RemoveCorruption.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.RemoveCorruption.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.RemoveCorruption.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.RemoveCorruption.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.RemoveCorruption.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.RemoveCorruption.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.RemoveCorruption.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.RemoveCorruption.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.RemoveCorruption.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.RemoveCorruption.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.RemoveCorruption.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.RemoveCorruption.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.RemoveCorruption.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.RemoveCorruption.Messages.Start = value
						end,
				},
			},
		},
		Roots = {
			type = "group",
			name = "Entangling Roots",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Roots.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Roots.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Roots.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Roots.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Roots.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Roots.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Roots.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Roots.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Roots.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Roots.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Roots.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Roots.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Roots.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Roots.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Roots.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Roots.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Roots.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Roots.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Roots.Messages.End = value
						end,
				},
			},
		},
		Soothe = {
			type = "group",
			name = GetSpellInfo(2908),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Soothe.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Soothe.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Soothe.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Soothe.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.Soothe.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Soothe.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Soothe.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Soothe.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Soothe.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.Soothe.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.Soothe.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Soothe.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Soothe.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Soothe.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.Soothe.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Soothe.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Soothe.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.Soothe.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.Soothe.Messages.End = value
						end,
				},
			},
		},
		StampedingRoar = {
			type = "group",
			name = GetSpellInfo(77761),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.StampedingRoar.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.StampedingRoar.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.StampedingRoar.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.StampedingRoar.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.StampedingRoar.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.StampedingRoar.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.StampedingRoar.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.StampedingRoar.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.StampedingRoar.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.StampedingRoar.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.StampedingRoar.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.StampedingRoar.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.StampedingRoar.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.StampedingRoar.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.StampedingRoar.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.StampedingRoar.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.StampedingRoar.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.StampedingRoar.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.StampedingRoar.Messages.End = value
						end,
				},
			},
		},
		SolarBeam = {
			type = "group",
			name = GetSpellInfo(78675),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SolarBeam.Local
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SolarBeam.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SolarBeam.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SolarBeam.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SolarBeam.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SolarBeam.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Druid.Spells.SolarBeam.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SolarBeam.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SolarBeam.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SolarBeam.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SolarBeam.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Druid.Spells.SolarBeam.Party
							end,
					set = function (info, value)
								RSA.db.profile.Druid.Spells.SolarBeam.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SolarBeam.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SolarBeam.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SolarBeam.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Druid.Spells.SolarBeam.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SolarBeam.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.SolarBeam.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SolarBeam.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.SolarBeam.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Druid.Spells.SolarBeam.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Druid.Spells.SolarBeam.Messages.Immune = value
						end,
				},
			},
		},		
	},
}
------------------------
---- Hunter Options ----
local Hunter = {
	type = "group",
	name = "|cFFABD473" .. L["Spell Options"] .."|r",
	order = 2,
	childGroups = "select",
	args = {
		Description = {
			type = "description",
			name = L.Spell_Options,
			fontSize = "medium",
			order = 0,
		},
		WidowVenom = {
			type = "group",
			name = GetSpellInfo(82654),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WidowVenom.Local
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WidowVenom.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WidowVenom.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WidowVenom.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Hunter.Spells.WidowVenom.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WidowVenom.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WidowVenom.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WidowVenom.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WidowVenom.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Hunter.Spells.WidowVenom.Party
							end,
					set = function (info, value)
								RSA.db.profile.Hunter.Spells.WidowVenom.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WidowVenom.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WidowVenom.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WidowVenom.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WidowVenom.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WidowVenom.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.WidowVenom.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WidowVenom.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.WidowVenom.Messages.End = value
						end,
				},
			},
		},		
	--[[  Misdirection = { --- NEED MORE DATAZ!
			type = "group",
			name = GetSpellInfo(34477),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Misdirection.Local
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Misdirection.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Misdirection.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Misdirection.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Misdirection.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Misdirection.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Hunter.Spells.Misdirection.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Misdirection.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Misdirection.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Misdirection.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Misdirection.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Hunter.Spells.Misdirection.Party
							end,
					set = function (info, value)
								RSA.db.profile.Hunter.Spells.Misdirection.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Misdirection.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Misdirection.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Misdirection.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Misdirection.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Misdirection.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.Misdirection.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Misdirection.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.Misdirection.Messages.End = value
						end,
				},
			},
		},	]]--	
		ScatterShot = {
			type = "group",
			name = GetSpellInfo(19503),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ScatterShot.Local
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ScatterShot.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ScatterShot.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ScatterShot.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Hunter.Spells.ScatterShot.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ScatterShot.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ScatterShot.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ScatterShot.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ScatterShot.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Hunter.Spells.ScatterShot.Party
							end,
					set = function (info, value)
								RSA.db.profile.Hunter.Spells.ScatterShot.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ScatterShot.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ScatterShot.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ScatterShot.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ScatterShot.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ScatterShot.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.ScatterShot.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ScatterShot.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.ScatterShot.Messages.End = value
						end,
				},
			},
		},			
		ConcussiveShot = {
			type = "group",
			name = GetSpellInfo(5116),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ConcussiveShot.Local
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ConcussiveShot.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ConcussiveShot.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ConcussiveShot.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Hunter.Spells.ConcussiveShot.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ConcussiveShot.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ConcussiveShot.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ConcussiveShot.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ConcussiveShot.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Hunter.Spells.ConcussiveShot.Party
							end,
					set = function (info, value)
								RSA.db.profile.Hunter.Spells.ConcussiveShot.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ConcussiveShot.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ConcussiveShot.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ConcussiveShot.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.ConcussiveShot.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ConcussiveShot.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.ConcussiveShot.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.ConcussiveShot.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.ConcussiveShot.Messages.End = value
						end,
				},
			},
		},			
		SilencingShot = {
			type = "group",
			name = GetSpellInfo(34490),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.SilencingShot.Local
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.SilencingShot.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.SilencingShot.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.SilencingShot.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Hunter.Spells.SilencingShot.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.SilencingShot.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.SilencingShot.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.SilencingShot.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.SilencingShot.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Hunter.Spells.SilencingShot.Party
							end,
					set = function (info, value)
								RSA.db.profile.Hunter.Spells.SilencingShot.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.SilencingShot.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.SilencingShot.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.SilencingShot.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.SilencingShot.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.SilencingShot.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.SilencingShot.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.SilencingShot.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.SilencingShot.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.SilencingShot.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.SilencingShot.Messages.Immune = value
						end,
				},
			},
		},		
		FreezingTrap = {
			type = "group",
			name = GetSpellInfo(3355),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.FreezingTrap.Local
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.FreezingTrap.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.FreezingTrap.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.FreezingTrap.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Hunter.Spells.FreezingTrap.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.FreezingTrap.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.FreezingTrap.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.FreezingTrap.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.FreezingTrap.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Hunter.Spells.FreezingTrap.Party
							end,
					set = function (info, value)
								RSA.db.profile.Hunter.Spells.FreezingTrap.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.FreezingTrap.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.FreezingTrap.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.FreezingTrap.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.FreezingTrap.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Placement = {
					type = "input",
					width = "full",
					name = L["Upon Placement"],
					desc = L.DescTrapPlacement,
					order = 11,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.FreezingTrap.Messages.Placement
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.FreezingTrap.Messages.Placement = value
						end,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["When Tripped"],
					desc = L.DescTrapTripped,
					order = 12,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.FreezingTrap.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.FreezingTrap.Messages.Start = value
						end,
				},				
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 13,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.FreezingTrap.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.FreezingTrap.Messages.End = value
						end,
				},
			},
		},			
		Deterrence = {
			type = "group",
			name = GetSpellInfo(19263),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Deterrence.Local
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Deterrence.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"],
					desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Deterrence.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Deterrence.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Hunter.Spells.Deterrence.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Deterrence.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Deterrence.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Deterrence.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Deterrence.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Hunter.Spells.Deterrence.Party
							end,
					set = function (info, value)
								RSA.db.profile.Hunter.Spells.Deterrence.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Deterrence.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Deterrence.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Deterrence.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Deterrence.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Deterrence.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.Deterrence.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Deterrence.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.Deterrence.Messages.End = value
						end,
				},
			},
		},
		Camoflage = {
			type = "group",
			name = GetSpellInfo(51755),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Camoflage.Local
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Camoflage.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"],
					desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Camoflage.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Camoflage.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Hunter.Spells.Camoflage.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Camoflage.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Camoflage.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Camoflage.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Camoflage.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Hunter.Spells.Camoflage.Party
							end,
					set = function (info, value)
								RSA.db.profile.Hunter.Spells.Camoflage.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Camoflage.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Camoflage.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Camoflage.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.Camoflage.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Camoflage.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.Camoflage.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.Camoflage.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.Camoflage.Messages.End = value
						end,
				},
			},
		},
		WyvernSting = {
			type = "group",
			name = GetSpellInfo(19386),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WyvernSting.Local
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WyvernSting.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WyvernSting.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WyvernSting.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Hunter.Spells.WyvernSting.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WyvernSting.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WyvernSting.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WyvernSting.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WyvernSting.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Hunter.Spells.WyvernSting.Party
							end,
					set = function (info, value)
								RSA.db.profile.Hunter.Spells.WyvernSting.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WyvernSting.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WyvernSting.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WyvernSting.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.WyvernSting.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WyvernSting.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.WyvernSting.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.WyvernSting.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.WyvernSting.Messages.End = value
						end,
				},
			},
		},	
		TranquilizingShot = {
			type = "group",
			name = GetSpellInfo(19801),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.TranquilizingShot.Local
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.TranquilizingShot.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.TranquilizingShot.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.TranquilizingShot.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Hunter.Spells.TranquilizingShot.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.TranquilizingShot.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.TranquilizingShot.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.TranquilizingShot.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.TranquilizingShot.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Hunter.Spells.TranquilizingShot.Party
							end,
					set = function (info, value)
								RSA.db.profile.Hunter.Spells.TranquilizingShot.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.TranquilizingShot.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.TranquilizingShot.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.TranquilizingShot.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.TranquilizingShot.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.TranquilizingShot.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.TranquilizingShot.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.TranquilizingShot.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.TranquilizingShot.Messages.End = value
						end,
				},
			},
		},
		DistractingShot = {
			type = "group",
			name = GetSpellInfo(20736),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.DistractingShot.Local
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.DistractingShot.Local = value
						end,
				},

				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.DistractingShot.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.DistractingShot.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Hunter.Spells.DistractingShot.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.DistractingShot.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.DistractingShot.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.DistractingShot.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.DistractingShot.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Hunter.Spells.DistractingShot.Party
							end,
					set = function (info, value)
								RSA.db.profile.Hunter.Spells.DistractingShot.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.DistractingShot.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.DistractingShot.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.DistractingShot.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Hunter.Spells.DistractingShot.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescMissable,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.DistractingShot.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.DistractingShot.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.DistractingShot.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.DistractingShot.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Hunter.Spells.DistractingShot.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Hunter.Spells.DistractingShot.Messages.Immune = value
						end,
				},
			},
		},
		
	},	
}
----------------------
---- Mage Options ----
local Mage = {
	type = "group",
	name = "|cFF4AAAFF" .. L["Spell Options"] .."|r",
	order = 2,
	childGroups = "select",
	args = {
		Description = {
			type = "description",
			name = L.Spell_Options,
			fontSize = "medium",
			order = 0,
		},
		RefreshmentTable = {
			type = "group",
			name = "Refreshment Table",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RefreshmentTable.Local
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RefreshmentTable.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RefreshmentTable.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RefreshmentTable.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Mage.Spells.RefreshmentTable.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RefreshmentTable.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RefreshmentTable.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RefreshmentTable.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RefreshmentTable.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Mage.Spells.RefreshmentTable.Party
							end,
					set = function (info, value)
								RSA.db.profile.Mage.Spells.RefreshmentTable.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RefreshmentTable.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RefreshmentTable.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RefreshmentTable.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RefreshmentTable.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RefreshmentTable.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.RefreshmentTable.Messages.Start = value
						end,
				},
			},
		},
		Portals = {
			type = "group",
			name = "Portals",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Portals.Local
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Portals.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Portals.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Portals.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Mage.Spells.Portals.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Portals.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Portals.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Portals.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Portals.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Mage.Spells.Portals.Party
							end,
					set = function (info, value)
								RSA.db.profile.Mage.Spells.Portals.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Portals.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Portals.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Portals.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Portals.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Portals.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.Portals.Messages.Start = value
						end,
				},
			},
		},
		Teleport = {
			type = "group",
			name = "Teleport",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				TeleportDescription = {
					type = "description",
					name = "This will always only announce if you are in a group. The idea is to warn if you may be accidentally casting a Teleport instead of a Portal.",
					order = 1,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Teleport.Local
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Teleport.Local = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Teleport.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.Teleport.Messages.Start = value
						end,
				},
			},
		},
		Polymorph = {
			type = "group",
			name = "Polymorph",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Polymorph.Local
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Polymorph.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Polymorph.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Polymorph.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Mage.Spells.Polymorph.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Polymorph.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Polymorph.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Polymorph.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Polymorph.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Mage.Spells.Polymorph.Party
							end,
					set = function (info, value)
								RSA.db.profile.Mage.Spells.Polymorph.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Polymorph.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Polymorph.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Polymorph.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Polymorph.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Polymorph.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.Polymorph.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Polymorph.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.Polymorph.Messages.End = value
						end,
				},
			},
		},
		Counterspell = {
			type = "group",
			name = "Counterspell",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Counterspell.Local
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Counterspell.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Counterspell.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Counterspell.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Mage.Spells.Counterspell.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Counterspell.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Counterspell.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Counterspell.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Counterspell.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Mage.Spells.Counterspell.Party
							end,
					set = function (info, value)
								RSA.db.profile.Mage.Spells.Counterspell.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Counterspell.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Counterspell.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Counterspell.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Counterspell.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Counterspell.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.Counterspell.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Counterspell.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.Counterspell.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Counterspell.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.Counterspell.Messages.Immune = value
						end,
				},
			},
		},
		Spellsteal = {
			type = "group",
			name = "Spellsteal",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Spellsteal.Local
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Spellsteal.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Spellsteal.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Spellsteal.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Mage.Spells.Spellsteal.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Spellsteal.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Spellsteal.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Spellsteal.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Spellsteal.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Mage.Spells.Spellsteal.Party
							end,
					set = function (info, value)
								RSA.db.profile.Mage.Spells.Spellsteal.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Spellsteal.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Spellsteal.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Spellsteal.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Spellsteal.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Spellsteal.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.Spellsteal.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Spellsteal.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.Spellsteal.Messages.End = value
						end,
				},
			},
		},
		TimeWarp = {
			type = "group",
			name = "Time Warp",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Mage.Spells.TimeWarp.Local
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.TimeWarp.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Mage.Spells.TimeWarp.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.TimeWarp.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Mage.Spells.TimeWarp.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Mage.Spells.TimeWarp.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.TimeWarp.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Mage.Spells.TimeWarp.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.TimeWarp.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Mage.Spells.TimeWarp.Party
							end,
					set = function (info, value)
								RSA.db.profile.Mage.Spells.TimeWarp.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Mage.Spells.TimeWarp.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.TimeWarp.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Mage.Spells.TimeWarp.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.TimeWarp.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Mage.Spells.TimeWarp.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.TimeWarp.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Mage.Spells.TimeWarp.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.TimeWarp.Messages.End = value
						end,
				},
			},
		},
		RingOfFrost = {
			type = "group",
			name = "Ring of Frost",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RingOfFrost.Local
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RingOfFrost.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RingOfFrost.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RingOfFrost.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Mage.Spells.RingOfFrost.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RingOfFrost.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RingOfFrost.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RingOfFrost.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RingOfFrost.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Mage.Spells.RingOfFrost.Party
							end,
					set = function (info, value)
								RSA.db.profile.Mage.Spells.RingOfFrost.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RingOfFrost.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RingOfFrost.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RingOfFrost.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.RingOfFrost.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Mage.Spells.RingOfFrost.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.RingOfFrost.Messages.Start = value
						end,
				},
			},
		},
		Cauterize = {
			type = "group",
			name = "Cauterize",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Cauterize.Local
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Cauterize.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Cauterize.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Cauterize.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Mage.Spells.Cauterize.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Cauterize.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Cauterize.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Cauterize.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Cauterize.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Mage.Spells.Cauterize.Party
							end,
					set = function (info, value)
								RSA.db.profile.Mage.Spells.Cauterize.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Cauterize.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Cauterize.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Cauterize.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.Cauterize.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Cauterize.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.Cauterize.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Mage.Spells.Cauterize.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.Cauterize.Messages.End = value
						end,
				},
			},
		},
		IceBlock = {
			type = "group",
			name = GetSpellInfo(45438),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Mage.Spells.IceBlock.Local
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.IceBlock.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Mage.Spells.IceBlock.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.IceBlock.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Mage.Spells.IceBlock.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Mage.Spells.IceBlock.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.IceBlock.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Mage.Spells.IceBlock.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.IceBlock.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Mage.Spells.IceBlock.Party
							end,
					set = function (info, value)
								RSA.db.profile.Mage.Spells.IceBlock.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Mage.Spells.IceBlock.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.IceBlock.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Mage.Spells.IceBlock.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.IceBlock.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Mage.Spells.IceBlock.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.IceBlock.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Mage.Spells.IceBlock.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.IceBlock.Messages.End = value
						end,
				},
			},
		},
		FocusMagic = {
			type = "group",
			name = GetSpellInfo(54646),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Mage.Spells.FocusMagic.Local
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.FocusMagic.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Mage.Spells.FocusMagic.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.FocusMagic.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Mage.Spells.FocusMagic.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.FocusMagic.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Mage.Spells.FocusMagic.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Mage.Spells.FocusMagic.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.FocusMagic.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Mage.Spells.FocusMagic.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.FocusMagic.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Mage.Spells.FocusMagic.Party
							end,
					set = function (info, value)
								RSA.db.profile.Mage.Spells.FocusMagic.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Mage.Spells.FocusMagic.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.FocusMagic.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Mage.Spells.FocusMagic.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Mage.Spells.FocusMagic.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Mage.Spells.FocusMagic.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.FocusMagic.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Mage.Spells.FocusMagic.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Mage.Spells.FocusMagic.Messages.End = value
						end,
				},
			},
		},			
	},
}
-------------------------
---- Paladin Options ----
local Paladin = {
	type = "group",
	name = "|cFFF58CBA" .. L["Spell Options"] .."|r",
	order = 2,
	childGroups = "select",
	args = {
		Description = {
			type = "description",
			name = L.Spell_Options,
			fontSize = "medium",
			order = 0,
		},
		ArdentDefender = {
			type = "group",
			name = "Ardent Defender",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.ArdentDefender.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.ArdentDefender.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.ArdentDefender.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.ArdentDefender.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.ArdentDefender.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.ArdentDefender.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.ArdentDefender.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.ArdentDefender.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.ArdentDefender.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.ArdentDefender.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.ArdentDefender.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.ArdentDefender.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.ArdentDefender.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.ArdentDefender.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.ArdentDefender.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.ArdentDefender.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.ArdentDefender.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.ArdentDefender.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.ArdentDefender.Messages.End = value
						end,
				},
			},
		},
		AuraMastery = {
			type = "group",
			name = "Aura Mastery",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AuraMastery.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AuraMastery.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AuraMastery.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AuraMastery.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.AuraMastery.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AuraMastery.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AuraMastery.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AuraMastery.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AuraMastery.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.AuraMastery.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.AuraMastery.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AuraMastery.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AuraMastery.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AuraMastery.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AuraMastery.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AuraMastery.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.AuraMastery.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AuraMastery.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.AuraMastery.Messages.End = value
						end,
				},
			},
		},
		DivineProtection = {
			type = "group",
			name = "Divine Protection",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineProtection.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineProtection.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineProtection.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineProtection.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.DivineProtection.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineProtection.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineProtection.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineProtection.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineProtection.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.DivineProtection.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.DivineProtection.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineProtection.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineProtection.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineProtection.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineProtection.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineProtection.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.DivineProtection.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineProtection.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.DivineProtection.Messages.End = value
						end,
				},
			},
		},
		Forbearance = {
			type = "group",
			name = "Forbearance",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Forbearance.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Forbearance.Local = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Forbearance.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.Forbearance.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Forbearance.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.Forbearance.Messages.End = value
						end,
				},
			},
		},
		DivineGuardian = {
			type = "group",
			name = "Divine Guardian",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineGuardian.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineGuardian.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineGuardian.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineGuardian.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.DivineGuardian.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineGuardian.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineGuardian.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineGuardian.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineGuardian.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.DivineGuardian.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.DivineGuardian.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineGuardian.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineGuardian.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineGuardian.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivineGuardian.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineGuardian.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.DivineGuardian.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivineGuardian.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.DivineGuardian.Messages.End = value
						end,
				},
			},
		},
		HandOfFreedom = {
			type = "group",
			name = "Hand Of Freedom",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfFreedom.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfFreedom.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfFreedom.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfFreedom.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfFreedom.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfFreedom.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.HandOfFreedom.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfFreedom.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfFreedom.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfFreedom.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfFreedom.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.HandOfFreedom.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.HandOfFreedom.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfFreedom.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfFreedom.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfFreedom.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfFreedom.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfFreedom.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HandOfFreedom.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfFreedom.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HandOfFreedom.Messages.End = value
						end,
				},
			},
		},
		HandOfProtection = {
			type = "group",
			name = "Hand Of Protection",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfProtection.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfProtection.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfProtection.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfProtection.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfProtection.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfProtection.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.HandOfProtection.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfProtection.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfProtection.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfProtection.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfProtection.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.HandOfProtection.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.HandOfProtection.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfProtection.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfProtection.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfProtection.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfProtection.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfProtection.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HandOfProtection.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfProtection.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HandOfProtection.Messages.End = value
						end,
				},
			},
		},
		HandOfSacrifice = {
			type = "group",
			name = "Hand Of Sacrifice",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSacrifice.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSacrifice.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSacrifice.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSacrifice.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSacrifice.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSacrifice.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.HandOfSacrifice.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSacrifice.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSacrifice.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSacrifice.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSacrifice.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.HandOfSacrifice.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.HandOfSacrifice.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSacrifice.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSacrifice.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSacrifice.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSacrifice.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSacrifice.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HandOfSacrifice.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSacrifice.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HandOfSacrifice.Messages.End = value
						end,
				},
			},
		},
		HandOfSalvation = {
			type = "group",
			name = "Hand Of Salvation",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSalvation.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSalvation.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSalvation.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSalvation.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSalvation.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSalvation.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.HandOfSalvation.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSalvation.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSalvation.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSalvation.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSalvation.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.HandOfSalvation.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.HandOfSalvation.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSalvation.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSalvation.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSalvation.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfSalvation.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSalvation.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HandOfSalvation.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfSalvation.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HandOfSalvation.Messages.End = value
						end,
				},
			},
		},
		LayOnHands = {
			type = "group",
			name = "Lay On Hands",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.LayOnHands.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.LayOnHands.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.LayOnHands.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.LayOnHands.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.LayOnHands.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.LayOnHands.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.LayOnHands.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.LayOnHands.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.LayOnHands.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.LayOnHands.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.LayOnHands.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.LayOnHands.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.LayOnHands.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.LayOnHands.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.LayOnHands.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.LayOnHands.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.LayOnHands.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescHeal,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.LayOnHands.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.LayOnHands.Messages.Start = value
						end,
				},
				--[[End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.LayOnHands.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.LayOnHands.Messages.End = value
						end,
				},]]--
			},
		},
		GoAK = {
			type = "group",
			name = "Guardian of Ancient Kings",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.GoAK.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.GoAK.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.GoAK.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.GoAK.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.GoAK.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.GoAK.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.GoAK.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.GoAK.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.GoAK.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.GoAK.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.GoAK.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.GoAK.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.GoAK.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.GoAK.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.GoAK.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.GoAK.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.GoAK.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.GoAK.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.GoAK.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.GoAK.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.GoAK.Messages.End = value
						end,
				},
			},
		},
		Repentance = {
			type = "group",
			name = "Repentance",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Repentance.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Repentance.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Repentance.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Repentance.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Repentance.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Repentance.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.Repentance.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Repentance.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Repentance.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Repentance.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Repentance.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.Repentance.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.Repentance.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Repentance.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Repentance.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Repentance.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Repentance.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Repentance.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.Repentance.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Repentance.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.Repentance.Messages.End = value
						end,
				},
			},
		},
		Rebuke = {
			type = "group",
			name = "Rebuke",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Rebuke.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Rebuke.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Rebuke.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Rebuke.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Rebuke.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Rebuke.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.Rebuke.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Rebuke.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Rebuke.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Rebuke.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Rebuke.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.Rebuke.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.Rebuke.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Rebuke.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Rebuke.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Rebuke.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Rebuke.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Rebuke.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.Rebuke.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Rebuke.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.Rebuke.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Rebuke.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.Rebuke.Messages.Immune = value
						end,
				},
			},
		},
		HandOfReckoning = {
			type = "group",
			name = "Hand Of Reckoning",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfReckoning.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfReckoning.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfReckoning.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfReckoning.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfReckoning.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfReckoning.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.HandOfReckoning.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfReckoning.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfReckoning.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfReckoning.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfReckoning.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.HandOfReckoning.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.HandOfReckoning.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfReckoning.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfReckoning.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfReckoning.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HandOfReckoning.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescMissable,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfReckoning.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HandOfReckoning.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfReckoning.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HandOfReckoning.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HandOfReckoning.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HandOfReckoning.Messages.Immune = value
						end,
				},
			},
		},
		RighteousDefense = {
			type = "group",
			name = "Righteous Defense",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.RighteousDefense.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.RighteousDefense.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.RighteousDefense.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.RighteousDefense.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.RighteousDefense.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.RighteousDefense.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.RighteousDefense.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.RighteousDefense.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.RighteousDefense.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.RighteousDefense.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.RighteousDefense.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.RighteousDefense.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.RighteousDefense.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.RighteousDefense.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.RighteousDefense.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.RighteousDefense.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.RighteousDefense.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescMissable,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.RighteousDefense.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.RighteousDefense.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.RighteousDefense.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.RighteousDefense.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.RighteousDefense.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.RighteousDefense.Messages.Immune = value
						end,
				},
			},
		},
		Beacon = {
			type = "group",
			name = "Beacon Of Light",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Beacon.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Beacon.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Beacon.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Beacon.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Beacon.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Beacon.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.Beacon.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Beacon.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Beacon.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Beacon.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Beacon.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.Beacon.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.Beacon.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Beacon.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Beacon.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Beacon.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Beacon.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Beacon.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.Beacon.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Beacon.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.Beacon.Messages.End = value
						end,
				},
			},
		},
		Redemption = {
			type = "group",
			name = "Redemption",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Redemption.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Redemption.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Redemption.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Redemption.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Redemption.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Redemption.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.Redemption.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Redemption.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Redemption.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Redemption.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Redemption.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.Redemption.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.Redemption.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Redemption.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Redemption.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Redemption.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.Redemption.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Redemption.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.Redemption.Messages.Start = value
						end,
				},
				--[[End = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.Redemption.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.Redemption.Messages.End = value
						end,
				},]]--
			},
		},
		AvengersShield = {
			type = "group",
			name = "Avenger's Shield",
			desc = "Announcement |cffFF0000only|r for when Avenger's Shield Interrupts spell casts.",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AvengersShield.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AvengersShield.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AvengersShield.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AvengersShield.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AvengersShield.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AvengersShield.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.AvengersShield.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AvengersShield.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AvengersShield.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AvengersShield.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AvengersShield.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.AvengersShield.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.AvengersShield.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AvengersShield.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AvengersShield.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AvengersShield.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.AvengersShield.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AvengersShield.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.AvengersShield.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AvengersShield.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.AvengersShield.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.AvengersShield.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.AvengersShield.Messages.Immune = value
						end,
				},
			},
		},
		TurnEvil = {
			type = "group",
			name = "Turn Evil",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.TurnEvil.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.TurnEvil.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.TurnEvil.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.TurnEvil.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.TurnEvil.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.TurnEvil.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.TurnEvil.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.TurnEvil.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.TurnEvil.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.TurnEvil.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.TurnEvil.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.TurnEvil.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.TurnEvil.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.TurnEvil.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.TurnEvil.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.TurnEvil.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.TurnEvil.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.TurnEvil.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.TurnEvil.Messages.End = value
						end,
				},
			},
		},
		HolyRadiance = {
			type = "group",
			name = "Holy Radiance",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HolyRadiance.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HolyRadiance.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HolyRadiance.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HolyRadiance.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.HolyRadiance.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HolyRadiance.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HolyRadiance.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HolyRadiance.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HolyRadiance.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.HolyRadiance.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.HolyRadiance.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HolyRadiance.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HolyRadiance.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HolyRadiance.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HolyRadiance.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HolyRadiance.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HolyRadiance.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HolyRadiance.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HolyRadiance.Messages.End = value
						end,
				},
			},
		},
		DivinePlea = {
			type = "group",
			name = GetSpellInfo(54428),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivinePlea.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivinePlea.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivinePlea.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivinePlea.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.DivinePlea.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivinePlea.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivinePlea.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivinePlea.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivinePlea.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.DivinePlea.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.DivinePlea.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivinePlea.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivinePlea.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivinePlea.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.DivinePlea.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivinePlea.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.DivinePlea.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.DivinePlea.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.DivinePlea.Messages.End = value
						end,
				},
			},
		},
		HammerOfJustice = {
			type = "group",
			name = GetSpellInfo(853),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HammerOfJustice.Local
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HammerOfJustice.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HammerOfJustice.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HammerOfJustice.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Paladin.Spells.HammerOfJustice.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HammerOfJustice.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HammerOfJustice.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HammerOfJustice.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HammerOfJustice.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Paladin.Spells.HammerOfJustice.Party
							end,
					set = function (info, value)
								RSA.db.profile.Paladin.Spells.HammerOfJustice.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HammerOfJustice.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HammerOfJustice.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HammerOfJustice.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Paladin.Spells.HammerOfJustice.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HammerOfJustice.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HammerOfJustice.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Paladin.Spells.HammerOfJustice.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Paladin.Spells.HammerOfJustice.Messages.End = value
						end,
				},
			},
		},		
	},
}
------------------------
---- Priest Options ----
local Priest = {
	type = "group",
	name = "|cFFFFFFFF" .. L["Spell Options"] .."|r",
	order = 2,
	childGroups = "select",
	args = {
		Description = {
			type = "description",
			name = L.Spell_Options,
			fontSize = "medium",
			order = 0,
		},
		LeapOfFaith = {
			type = "group",
			name = "Leap Of Faith",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LeapOfFaith.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LeapOfFaith.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LeapOfFaith.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LeapOfFaith.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LeapOfFaith.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LeapOfFaith.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.LeapOfFaith.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LeapOfFaith.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LeapOfFaith.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LeapOfFaith.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LeapOfFaith.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.LeapOfFaith.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.LeapOfFaith.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LeapOfFaith.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LeapOfFaith.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LeapOfFaith.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LeapOfFaith.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LeapOfFaith.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.LeapOfFaith.Messages.Start = value
						end,
				},
			},
		},
		DivineHymn = {
			type = "group",
			name = "Divine Hymn",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DivineHymn.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DivineHymn.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DivineHymn.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DivineHymn.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.DivineHymn.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DivineHymn.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DivineHymn.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DivineHymn.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DivineHymn.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.DivineHymn.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.DivineHymn.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DivineHymn.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DivineHymn.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DivineHymn.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DivineHymn.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DivineHymn.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.DivineHymn.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DivineHymn.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.DivineHymn.Messages.End = value
						end,
				},
			},
		},
		HymnOfHope = {
			type = "group",
			name = "Hymn Of Hope",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.HymnOfHope.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.HymnOfHope.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.HymnOfHope.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.HymnOfHope.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.HymnOfHope.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.HymnOfHope.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.HymnOfHope.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.HymnOfHope.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.HymnOfHope.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.HymnOfHope.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.HymnOfHope.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.HymnOfHope.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.HymnOfHope.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.HymnOfHope.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.HymnOfHope.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.HymnOfHope.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.HymnOfHope.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.HymnOfHope.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.HymnOfHope.Messages.End = value
						end,
				},
			},
		},
		FearWard = {
			type = "group",
			name = "Fear Ward",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.FearWard.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.FearWard.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Priest.Spells.FearWard.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.FearWard.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.FearWard.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.FearWard.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.FearWard.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.FearWard.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.FearWard.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.FearWard.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.FearWard.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.FearWard.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.FearWard.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.FearWard.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.FearWard.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.FearWard.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.FearWard.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.FearWard.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.FearWard.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.FearWard.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.FearWard.Messages.End = value
						end,
				},
			},
		},
		Levitate = {
			type = "group",
			name = "Levitate",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Levitate.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Levitate.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Levitate.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Levitate.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Levitate.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Levitate.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.Levitate.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Levitate.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Levitate.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Levitate.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Levitate.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.Levitate.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.Levitate.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Levitate.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Levitate.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Levitate.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Levitate.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Levitate.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.Levitate.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Levitate.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.Levitate.Messages.End = value
						end,
				},
			},
		},
		ShackleUndead = {
			type = "group",
			name = "Shackle Undead",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.ShackleUndead.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.ShackleUndead.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Priest.Spells.ShackleUndead.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.ShackleUndead.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.ShackleUndead.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.ShackleUndead.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.ShackleUndead.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.ShackleUndead.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.ShackleUndead.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.ShackleUndead.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.ShackleUndead.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.ShackleUndead.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.ShackleUndead.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.ShackleUndead.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.ShackleUndead.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.ShackleUndead.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.ShackleUndead.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.ShackleUndead.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.ShackleUndead.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.ShackleUndead.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.ShackleUndead.Messages.End = value
						end,
				},
			},
		},
		DispelMagic = {
			type = "group",
			name = "Dispel Magic",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DispelMagic.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DispelMagic.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DispelMagic.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DispelMagic.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DispelMagic.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DispelMagic.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.DispelMagic.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DispelMagic.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DispelMagic.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DispelMagic.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DispelMagic.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.DispelMagic.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.DispelMagic.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DispelMagic.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DispelMagic.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DispelMagic.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DispelMagic.Smart.Say = value
						end,
				},
				---- Only Announce Hostile Dispels ----
				HostileOnly = {
					type = "toggle",
					name = L["Hostile Only"],
					desc = L["Announces only if the target isn't friendly."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DispelMagic.HostileOnly
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.DispelMagic.HostileOnly = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DispelMagic.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.DispelMagic.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.DispelMagic.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.DispelMagic.Messages.End = value
						end,
				},
			},
		},
		GuardianSpirit = {
			type = "group",
			name = "Guardian Spirit",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.GuardianSpirit.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.GuardianSpirit.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Priest.Spells.GuardianSpirit.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.GuardianSpirit.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.GuardianSpirit.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.GuardianSpirit.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.GuardianSpirit.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.GuardianSpirit.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.GuardianSpirit.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.GuardianSpirit.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.GuardianSpirit.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.GuardianSpirit.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.GuardianSpirit.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.GuardianSpirit.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.GuardianSpirit.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.GuardianSpirit.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.GuardianSpirit.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescHeal,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.GuardianSpirit.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.GuardianSpirit.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.GuardianSpirit.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.GuardianSpirit.Messages.End = value
						end,
				},
				Heal = {
					type = "input",
					width = "full",
					name = L["Heal"],
					desc = L.DescSpellProcName,
					order = 13,
					get = function(info)
							return RSA.db.profile.Priest.Spells.GuardianSpirit.Messages.Proc
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.GuardianSpirit.Messages.Proc = value
						end,
				},
			},
		},
		PainSuppression = {
			type = "group",
			name = "Pain Suppression",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PainSuppression.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PainSuppression.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PainSuppression.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PainSuppression.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PainSuppression.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PainSuppression.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.PainSuppression.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PainSuppression.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PainSuppression.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PainSuppression.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PainSuppression.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.PainSuppression.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.PainSuppression.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PainSuppression.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PainSuppression.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PainSuppression.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PainSuppression.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PainSuppression.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.PainSuppression.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PainSuppression.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.PainSuppression.Messages.End = value
						end,
				},
			},
		},
		Lightwell = {
			type = "group",
			name = "Lightwell",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Lightwell.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Lightwell.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Lightwell.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Lightwell.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.Lightwell.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Lightwell.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Lightwell.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Lightwell.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Lightwell.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.Lightwell.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.Lightwell.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Lightwell.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Lightwell.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Lightwell.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Lightwell.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Lightwell.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.Lightwell.Messages.Start = value
						end,
				},
			},
		},
		PowerInfusion = {
			type = "group",
			name = "Power Infusion",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerInfusion.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerInfusion.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerInfusion.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerInfusion.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerInfusion.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerInfusion.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.PowerInfusion.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerInfusion.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerInfusion.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerInfusion.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerInfusion.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.PowerInfusion.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.PowerInfusion.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerInfusion.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerInfusion.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerInfusion.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerInfusion.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerInfusion.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.PowerInfusion.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerInfusion.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.PowerInfusion.Messages.End = value
						end,
				},
			},
		},
		PowerWordBarrier = {
			type = "group",
			name = "Power Word: Barrier",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerWordBarrier.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerWordBarrier.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerWordBarrier.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerWordBarrier.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.PowerWordBarrier.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerWordBarrier.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerWordBarrier.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerWordBarrier.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerWordBarrier.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.PowerWordBarrier.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.PowerWordBarrier.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerWordBarrier.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerWordBarrier.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerWordBarrier.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PowerWordBarrier.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerWordBarrier.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.PowerWordBarrier.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PowerWordBarrier.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.PowerWordBarrier.Messages.End = value
						end,
				},
			},
		},
		LightwellRenew = {
			type = "group",
			name = "Lightwell Renew",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LightwellRenew.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LightwellRenew.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LightwellRenew.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LightwellRenew.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LightwellRenew.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LightwellRenew.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.LightwellRenew.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LightwellRenew.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LightwellRenew.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LightwellRenew.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LightwellRenew.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.LightwellRenew.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.LightwellRenew.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LightwellRenew.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LightwellRenew.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LightwellRenew.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.LightwellRenew.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.LightwellRenew.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.LightwellRenew.Messages.Start = value
						end,
				},
			},
		},
		CureDisease = {
			type = "group",
			name = "Cure Disease",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.CureDisease.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.CureDisease.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.CureDisease.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.CureDisease.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.CureDisease.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.CureDisease.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.CureDisease.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.CureDisease.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.CureDisease.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.CureDisease.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.CureDisease.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.CureDisease.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.CureDisease.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.CureDisease.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.CureDisease.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.CureDisease.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.CureDisease.Messages.Start = value
						end,
				},
			},
		},
		Resurrection = {
			type = "group",
			name = "Resurrection",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Resurrection.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Resurrection.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Resurrection.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Resurrection.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Resurrection.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Resurrection.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.Resurrection.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Resurrection.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Resurrection.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Resurrection.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Resurrection.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.Resurrection.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.Resurrection.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Resurrection.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Resurrection.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Resurrection.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Resurrection.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Resurrection.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.Resurrection.Messages.Start = value
						end,
				},
				--[[End = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Resurrection.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.Resurrection.Messages.End = value
						end,
				},]]--
			},
		},
		Fade = {
			type = "group",
			name = GetSpellInfo(586),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Fade.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Fade.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Fade.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Fade.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.Fade.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Fade.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Fade.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Fade.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Fade.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.Fade.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.Fade.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Fade.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Fade.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Fade.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.Fade.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Fade.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.Fade.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.Fade.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.Fade.Messages.End = value
						end,
				},
			},
		},
		PsychicScream = {
			type = "group",
			name = GetSpellInfo(8122),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PsychicScream.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PsychicScream.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PsychicScream.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PsychicScream.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.PsychicScream.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PsychicScream.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PsychicScream.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PsychicScream.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PsychicScream.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.PsychicScream.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.PsychicScream.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PsychicScream.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PsychicScream.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PsychicScream.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.PsychicScream.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PsychicScream.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.PsychicScream.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.PsychicScream.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.PsychicScream.Messages.End = value
						end,
				},
			},
		},
		MindSoothe = {
			type = "group",
			name = GetSpellInfo(453),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindSoothe.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindSoothe.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindSoothe.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindSoothe.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindSoothe.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindSoothe.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.MindSoothe.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindSoothe.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindSoothe.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindSoothe.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindSoothe.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.MindSoothe.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.MindSoothe.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindSoothe.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindSoothe.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindSoothe.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindSoothe.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindSoothe.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.MindSoothe.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindSoothe.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.MindSoothe.Messages.End = value
						end,
				},
			},
		},		
		MindControl = {
			type = "group",
			name = GetSpellInfo(605),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindControl.Local
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindControl.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindControl.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindControl.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Priest.Spells.MindControl.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindControl.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindControl.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindControl.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindControl.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Priest.Spells.MindControl.Party
							end,
					set = function (info, value)
								RSA.db.profile.Priest.Spells.MindControl.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindControl.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindControl.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindControl.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Priest.Spells.MindControl.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Casting = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindControl.Messages.Casting
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.MindControl.Messages.Casting = value
						end,
				},		
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 12,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindControl.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.MindControl.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 13,
					get = function(info)
							return RSA.db.profile.Priest.Spells.MindControl.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Priest.Spells.MindControl.Messages.End = value
						end,
				},
			},
		},
	},
}
-----------------------
---- Rogue Options ----
local Rogue = {
	type = "group",
	name = "|cFFFFDD00" .. L["Spell Options"] .. "|r",
	order = 2,
	childGroups = "select",
	args = {
		Description = {
			type = "description",
			name = L.Spell_Options,
			fontSize = "medium",
			order = 0,
		},
		Sap = {
			type = "group",
			name = "Sap",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Sap.Local
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Sap.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Sap.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Sap.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Sap.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Sap.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Rogue.Spells.Sap.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Sap.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Sap.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Sap.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Sap.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Rogue.Spells.Sap.Party
							end,
					set = function (info, value)
								RSA.db.profile.Rogue.Spells.Sap.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Sap.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Sap.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Sap.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Sap.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Sap.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Rogue.Spells.Sap.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Sap.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Rogue.Spells.Sap.Messages.End = value
						end,
				},
			},
		},
		Kick = {
			type = "group",
			name = "Kick",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Kick.Local
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Kick.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Kick.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Kick.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Kick.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Kick.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Rogue.Spells.Kick.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Kick.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Kick.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Kick.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Kick.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Rogue.Spells.Kick.Party
							end,
					set = function (info, value)
								RSA.db.profile.Rogue.Spells.Kick.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Kick.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Kick.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Kick.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Kick.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Kick.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Rogue.Spells.Kick.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Kick.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Rogue.Spells.Kick.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Kick.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Rogue.Spells.Kick.Messages.Immune = value
						end,
				},
			},
		},
		Dismantle = {
			type = "group",
			name = "Dismantle",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Dismantle.Local
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Dismantle.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Dismantle.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Dismantle.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Rogue.Spells.Dismantle.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Dismantle.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Dismantle.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Dismantle.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Dismantle.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Rogue.Spells.Dismantle.Party
							end,
					set = function (info, value)
								RSA.db.profile.Rogue.Spells.Dismantle.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Dismantle.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Dismantle.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Dismantle.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Dismantle.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Dismantle.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Rogue.Spells.Dismantle.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Dismantle.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Rogue.Spells.Dismantle.Messages.End = value
						end,
				},
			},
		},
		Blind = {
			type = "group",
			name = "Blind",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Blind.Local
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Blind.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Blind.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Blind.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Rogue.Spells.Blind.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Blind.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Blind.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Blind.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Blind.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Rogue.Spells.Blind.Party
							end,
					set = function (info, value)
								RSA.db.profile.Rogue.Spells.Blind.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Blind.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Blind.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Blind.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Blind.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Blind.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Rogue.Spells.Blind.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Blind.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Rogue.Spells.Blind.Messages.End = value
						end,
				},
			},
		},
		Tricks = {
			type = "group",
			name = "Tricks of the Trade",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Tricks.Local
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Tricks.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Tricks.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Tricks.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Tricks.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Tricks.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Rogue.Spells.Tricks.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Tricks.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Tricks.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Tricks.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Tricks.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Rogue.Spells.Tricks.Party
							end,
					set = function (info, value)
								RSA.db.profile.Rogue.Spells.Tricks.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Tricks.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Tricks.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Tricks.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Rogue.Spells.Tricks.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescHeal,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Tricks.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Rogue.Spells.Tricks.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Rogue.Spells.Tricks.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Rogue.Spells.Tricks.Messages.End = value
						end,
				},
			},
		},
	},
}
------------------------
---- Shaman Options ----
local Shaman = {
	type = "group",
	name = "|cFF00DBBD" .. L["Spell Options"] .."|r",
	order = 2,
	childGroups = "select",
	args = {
		Description = {
			type = "description",
			name = L.Spell_Options,
			fontSize = "small",
			order = 0,
		},
		Heroism = {
			type = "group",
			name = "Bloodlust / Heroism",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Heroism.Local
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Heroism.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Heroism.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Heroism.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Shaman.Spells.Heroism.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Heroism.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Heroism.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Heroism.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Heroism.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Shaman.Spells.Heroism.Party
							end,
					set = function (info, value)
								RSA.db.profile.Shaman.Spells.Heroism.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Heroism.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Heroism.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Heroism.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Heroism.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Heroism.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.Heroism.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Heroism.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.Heroism.Messages.End = value
						end,
				},
			},
		},
		ManaTide = {
			type = "group",
			name = "Mana Tide Totem",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.ManaTide.Local
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.ManaTide.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.ManaTide.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.ManaTide.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Shaman.Spells.ManaTide.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.ManaTide.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.ManaTide.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.ManaTide.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.ManaTide.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Shaman.Spells.ManaTide.Party
							end,
					set = function (info, value)
								RSA.db.profile.Shaman.Spells.ManaTide.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.ManaTide.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.ManaTide.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.ManaTide.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.ManaTide.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.ManaTide.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.ManaTide.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.ManaTide.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.ManaTide.Messages.End = value
						end,
				},
			},
		},
		BindElemental = {
			type = "group",
			name = "Bind Elemental",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.BindElemental.Local
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.BindElemental.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.BindElemental.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.BindElemental.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Shaman.Spells.BindElemental.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.BindElemental.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.BindElemental.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.BindElemental.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.BindElemental.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Shaman.Spells.BindElemental.Party
							end,
					set = function (info, value)
								RSA.db.profile.Shaman.Spells.BindElemental.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.BindElemental.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.BindElemental.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.BindElemental.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.BindElemental.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.BindElemental.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.BindElemental.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.BindElemental.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.BindElemental.Messages.End = value
						end,
				},
			},
		},
		Hex = {
			type = "group",
			name = "Hex",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Hex.Local
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Hex.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Hex.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Hex.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Shaman.Spells.Hex.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Hex.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Hex.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Hex.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Hex.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Shaman.Spells.Hex.Party
							end,
					set = function (info, value)
								RSA.db.profile.Shaman.Spells.Hex.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Hex.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Hex.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Hex.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Hex.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Hex.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.Hex.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Hex.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.Hex.Messages.End = value
						end,
				},
			},
		},
		WindShear = {
			type = "group",
			name = "Wind Shear",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.WindShear.Local
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.WindShear.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.WindShear.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.WindShear.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.WindShear.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.WindShear.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Shaman.Spells.WindShear.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.WindShear.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.WindShear.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.WindShear.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.WindShear.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Shaman.Spells.WindShear.Party
							end,
					set = function (info, value)
								RSA.db.profile.Shaman.Spells.WindShear.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.WindShear.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.WindShear.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.WindShear.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.WindShear.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.WindShear.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.WindShear.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.WindShear.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.WindShear.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.WindShear.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.WindShear.Messages.Immune = value
						end,
				},
			},
		},
		Purge = {
			type = "group",
			name = "Purge",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Purge.Local
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Purge.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Purge.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Purge.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Shaman.Spells.Purge.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Purge.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Purge.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Purge.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Purge.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Shaman.Spells.Purge.Party
							end,
					set = function (info, value)
								RSA.db.profile.Shaman.Spells.Purge.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Purge.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Purge.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Purge.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.Purge.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Purge.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.Purge.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.Purge.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.Purge.Messages.End = value
						end,
				},
			},
		},
		CleanseSpirit = {
			type = "group",
			name = "Cleanse Spirit",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.CleanseSpirit.Local
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.CleanseSpirit.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.CleanseSpirit.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.CleanseSpirit.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.CleanseSpirit.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.CleanseSpirit.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Shaman.Spells.CleanseSpirit.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.CleanseSpirit.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.CleanseSpirit.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.CleanseSpirit.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.CleanseSpirit.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Shaman.Spells.CleanseSpirit.Party
							end,
					set = function (info, value)
								RSA.db.profile.Shaman.Spells.CleanseSpirit.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.CleanseSpirit.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.CleanseSpirit.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.CleanseSpirit.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.CleanseSpirit.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.CleanseSpirit.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.CleanseSpirit.Messages.Start = value
						end,
				},
			},
		},
		AncestralSpirit = {
			type = "group",
			name = "Ancestral Spirit",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.AncestralSpirit.Local
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.AncestralSpirit.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.AncestralSpirit.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.AncestralSpirit.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.AncestralSpirit.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.AncestralSpirit.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Shaman.Spells.AncestralSpirit.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.AncestralSpirit.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.AncestralSpirit.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.AncestralSpirit.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.AncestralSpirit.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Shaman.Spells.AncestralSpirit.Party
							end,
					set = function (info, value)
								RSA.db.profile.Shaman.Spells.AncestralSpirit.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.AncestralSpirit.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.AncestralSpirit.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.AncestralSpirit.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Shaman.Spells.AncestralSpirit.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.AncestralSpirit.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.AncestralSpirit.Messages.Start = value
						end,
				},
				--[[End = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Shaman.Spells.AncestralSpirit.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Shaman.Spells.AncestralSpirit.Messages.End = value
						end,
				},]]--
			},
		},
	},
}
-------------------------
---- Warlock Options ----
local Warlock = {
	type = "group",
	name = "|cFF8245ab" .. L["Spell Options"] .."|r",
	order = 2,
	childGroups = "select",
	args = {
		Description = {
			type = "description",
			name = L.Spell_Options,
			fontSize = "medium",
			order = 0,
		},
		SoulWell = {
			type = "group",
			name = "Soul Well",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SoulWell.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SoulWell.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SoulWell.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SoulWell.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.SoulWell.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SoulWell.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SoulWell.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SoulWell.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SoulWell.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.SoulWell.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.SoulWell.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SoulWell.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SoulWell.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SoulWell.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SoulWell.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SoulWell.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.SoulWell.Messages.Start = value
						end,
				},
			},
		},
		SummonStone = {
			type = "group",
			name = "Summon Stone",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SummonStone.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SummonStone.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SummonStone.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SummonStone.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.SummonStone.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SummonStone.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SummonStone.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SummonStone.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SummonStone.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.SummonStone.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.SummonStone.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SummonStone.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SummonStone.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SummonStone.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SummonStone.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SummonStone.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.SummonStone.Messages.Start = value
						end,
				},
			},
		},
		SingeMagic = {
			type = "group",
			name = "Imp: Singe Magic",
			order = 50,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SingeMagic.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SingeMagic.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SingeMagic.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SingeMagic.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SingeMagic.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SingeMagic.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.SingeMagic.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SingeMagic.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SingeMagic.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SingeMagic.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SingeMagic.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.SingeMagic.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.SingeMagic.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SingeMagic.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SingeMagic.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SingeMagic.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SingeMagic.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SingeMagic.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.SingeMagic.Messages.Start = value
						end,
				},
			},
		},
		Banish = {
			type = "group",
			name = "Banish",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Banish.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Banish.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Banish.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Banish.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.Banish.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Banish.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Banish.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Banish.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Banish.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.Banish.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.Banish.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Banish.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Banish.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Banish.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Banish.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Banish.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Banish.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Banish.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Banish.Messages.End = value
						end,
				},
			},
		},
		Fear = {
			type = "group",
			name = "Fear",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Fear.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Fear.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Fear.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Fear.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.Fear.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Fear.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Fear.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Fear.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Fear.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.Fear.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.Fear.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Fear.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Fear.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Fear.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Fear.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Fear.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Fear.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Fear.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Fear.Messages.End = value
						end,
				},
			},
		},
		Seduce = {
			type = "group",
			name = "Succubus: Seduce",
			order = 50,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Seduce.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Seduce.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Seduce.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Seduce.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.Seduce.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Seduce.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Seduce.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Seduce.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Seduce.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.Seduce.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.Seduce.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Seduce.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Seduce.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Seduce.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Seduce.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Seduce.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Seduce.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Seduce.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Seduce.Messages.End = value
						end,
				},
			},
		},
		SpellLock = {
			type = "group",
			name = "Felhunter: Spell Lock",
			order = 50,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SpellLock.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SpellLock.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SpellLock.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SpellLock.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.SpellLock.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SpellLock.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SpellLock.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SpellLock.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SpellLock.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.SpellLock.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.SpellLock.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SpellLock.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SpellLock.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SpellLock.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.SpellLock.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SpellLock.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.SpellLock.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SpellLock.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.SpellLock.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.SpellLock.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.SpellLock.Messages.Immune = value
						end,
				},
			},
		},
		Devour = {
			type = "group",
			name = "Felhunter: Devour Magic",
			order = 50,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Devour.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Devour.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Devour.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Devour.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.Devour.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Devour.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Devour.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Devour.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Devour.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.Devour.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.Devour.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Devour.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Devour.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Devour.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Devour.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Devour.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Devour.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Devour.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Devour.Messages.End = value
						end,
				},
			},
		},
		Suffering = {
			type = "group",
			name = "Voidwalker: Suffering",
			order = 50,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Suffering.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Suffering.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Suffering.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Suffering.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Suffering.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Suffering.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.Suffering.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Suffering.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Suffering.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Suffering.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Suffering.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.Suffering.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.Suffering.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Suffering.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Suffering.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Suffering.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Suffering.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescMissable,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Suffering.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Suffering.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Suffering.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Suffering.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Suffering.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Suffering.Messages.Immune = value
						end,
				},
			},
		},
		Soulstone = {
			type = "group",
			name = "Soulstone",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Soulstone.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Soulstone.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Soulstone.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Soulstone.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Soulstone.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Soulstone.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.Soulstone.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Soulstone.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Soulstone.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Soulstone.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Soulstone.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.Soulstone.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.Soulstone.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Soulstone.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Soulstone.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Soulstone.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Soulstone.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Soulstone.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Soulstone.Messages.Start = value
						end,
				},
			},
		},
		DeathCoil = {
			type = "group",
			name = GetSpellInfo(6789),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DeathCoil.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DeathCoil.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DeathCoil.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DeathCoil.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.DeathCoil.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DeathCoil.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DeathCoil.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DeathCoil.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DeathCoil.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.DeathCoil.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.DeathCoil.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DeathCoil.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DeathCoil.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DeathCoil.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DeathCoil.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DeathCoil.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.DeathCoil.Messages.Start = value
						end,
				},
			},
		},		
		Shadowfury = {
			type = "group",
			name = GetSpellInfo(30283),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Shadowfury.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Shadowfury.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Shadowfury.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Shadowfury.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.Shadowfury.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Shadowfury.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Shadowfury.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Shadowfury.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Shadowfury.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.Shadowfury.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.Shadowfury.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Shadowfury.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Shadowfury.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Shadowfury.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.Shadowfury.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.Shadowfury.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.Shadowfury.Messages.Start = value
						end,
				},
			},
		},	
		HowlOfTerror = {
			type = "group",
			name = GetSpellInfo(5484),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.HowlOfTerror.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.HowlOfTerror.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.HowlOfTerror.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.HowlOfTerror.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.HowlOfTerror.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.HowlOfTerror.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.HowlOfTerror.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.HowlOfTerror.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.HowlOfTerror.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.HowlOfTerror.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.HowlOfTerror.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.HowlOfTerror.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.HowlOfTerror.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.HowlOfTerror.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.HowlOfTerror.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.HowlOfTerror.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.HowlOfTerror.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.HowlOfTerror.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.HowlOfTerror.Messages.End = value
						end,
				},
			},
		},
		DarkIntent = {
			type = "group",
			name = GetSpellInfo(80398),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DarkIntent.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DarkIntent.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DarkIntent.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DarkIntent.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DarkIntent.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DarkIntent.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warlock.Spells.DarkIntent.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DarkIntent.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DarkIntent.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DarkIntent.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DarkIntent.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warlock.Spells.DarkIntent.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warlock.Spells.DarkIntent.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DarkIntent.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DarkIntent.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DarkIntent.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warlock.Spells.DarkIntent.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DarkIntent.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.DarkIntent.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warlock.Spells.DarkIntent.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warlock.Spells.DarkIntent.Messages.End = value
						end,
				},
			},
		},		
	},
}
-------------------------
---- Warrior Options ----
local Warrior = {
	type = "group",
	name = "|cFFC98D57" .. L["Spell Options"] .."|r",
	order = 2,
	childGroups = "select",
	args = {
		Description = {
			type = "description",
			name = L.Spell_Options,
			fontSize = "medium",
			order = 0,
		},
		ShieldWall = {
			type = "group",
			name = "Shield Wall",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldWall.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldWall.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldWall.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldWall.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.ShieldWall.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldWall.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldWall.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldWall.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldWall.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.ShieldWall.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.ShieldWall.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldWall.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldWall.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldWall.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldWall.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldWall.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ShieldWall.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldWall.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ShieldWall.Messages.End = value
						end,
				},
			},
		},
		Disarm = {
			type = "group",
			name = "Disarm",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Disarm.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Disarm.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Disarm.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Disarm.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.Disarm.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Disarm.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Disarm.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Disarm.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Disarm.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.Disarm.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.Disarm.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Disarm.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Disarm.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Disarm.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Disarm.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Disarm.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Disarm.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Disarm.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Disarm.Messages.End = value
						end,
				},
			},
		},
		Vigilance = {
			type = "group",
			name = "Vigilance",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Vigilance.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Vigilance.Local = value
						end,
				},
				Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Vigilance.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Vigilance.Whisper = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Vigilance.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Vigilance.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.Vigilance.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Vigilance.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Vigilance.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Vigilance.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Vigilance.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.Vigilance.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.Vigilance.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Vigilance.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Vigilance.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Vigilance.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Vigilance.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Vigilance.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Vigilance.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Vigilance.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Vigilance.Messages.End = value
						end,
				},
			},
		},
		LastStand = {
			type = "group",
			name = "Last Stand",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.LastStand.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.LastStand.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.LastStand.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.LastStand.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.LastStand.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.LastStand.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.LastStand.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.LastStand.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.LastStand.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.LastStand.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.LastStand.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.LastStand.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.LastStand.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.LastStand.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.LastStand.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.LastStand.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.LastStand.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.LastStand.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.LastStand.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.LastStand.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.LastStand.Messages.End = value
						end,
				},
			},
		},
		ChallengingShout = {
			type = "group",
			name = "Challenging Shout",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ChallengingShout.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ChallengingShout.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ChallengingShout.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ChallengingShout.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ChallengingShout.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ChallengingShout.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.ChallengingShout.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ChallengingShout.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ChallengingShout.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ChallengingShout.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ChallengingShout.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.ChallengingShout.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.ChallengingShout.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ChallengingShout.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ChallengingShout.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ChallengingShout.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ChallengingShout.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ChallengingShout.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ChallengingShout.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ChallengingShout.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ChallengingShout.Messages.End = value
						end,
				},
			},
		},
		ShatteringThrow = {
			type = "group",
			name = "Shattering Throw",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShatteringThrow.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShatteringThrow.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShatteringThrow.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShatteringThrow.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShatteringThrow.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShatteringThrow.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.ShatteringThrow.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShatteringThrow.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShatteringThrow.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShatteringThrow.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShatteringThrow.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.ShatteringThrow.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.ShatteringThrow.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShatteringThrow.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShatteringThrow.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShatteringThrow.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShatteringThrow.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShatteringThrow.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ShatteringThrow.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShatteringThrow.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ShatteringThrow.Messages.End = value
						end,
				},
			},
		},
		Pummel = {
			type = "group",
			name = "Pummel",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Pummel.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Pummel.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Pummel.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Pummel.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Pummel.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Pummel.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.Pummel.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Pummel.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Pummel.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Pummel.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Pummel.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.Pummel.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.Pummel.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Pummel.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Pummel.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Pummel.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Pummel.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Pummel.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Pummel.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Pummel.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Pummel.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Pummel.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Pummel.Messages.Immune = value
						end,
				},
			},
		},
		ShieldBash = {
			type = "group",
			name = "Shield Bash",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBash.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBash.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBash.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBash.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBash.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBash.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.ShieldBash.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBash.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBash.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBash.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBash.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.ShieldBash.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.ShieldBash.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBash.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBash.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBash.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBash.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescInterrupt,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBash.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ShieldBash.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBash.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ShieldBash.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBash.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ShieldBash.Messages.Immune = value
						end,
				},
			},
		},
		Taunt = {
			type = "group",
			name = "Taunt",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Taunt.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Taunt.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Taunt.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Taunt.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Taunt.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Taunt.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.Taunt.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Taunt.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Taunt.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Taunt.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Taunt.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.Taunt.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.Taunt.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Taunt.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Taunt.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Taunt.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Taunt.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescMissable,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Successful"],
					desc = L.DescSpellStartSuccess,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Taunt.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Taunt.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndResist,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Taunt.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Taunt.Messages.End = value
						end,
				},
				Immune = {
					type = "input",
					width = "full",
					name = L["Immune"],
					desc = L.DescSpellEndImmune,
					order = 13,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Taunt.Messages.Immune
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Taunt.Messages.Immune = value
						end,
				},
			},
		},
		EnragedRegeneration = {
			type = "group",
			name = "Enraged Regneration",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.EnragedRegeneration.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.EnragedRegeneration.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.EnragedRegeneration.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.EnragedRegeneration.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.EnragedRegeneration.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.EnragedRegeneration.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.EnragedRegeneration.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.EnragedRegeneration.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.EnragedRegeneration.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.EnragedRegeneration.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.EnragedRegeneration.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.EnragedRegeneration.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.EnragedRegeneration.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.EnragedRegeneration.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.EnragedRegeneration.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.EnragedRegeneration.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.EnragedRegeneration.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.EnragedRegeneration.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.EnragedRegeneration.Messages.End = value
						end,
				},
			},
		},
		ShieldBlock = {
			type = "group",
			name = "Shield Block",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBlock.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBlock.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBlock.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBlock.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.ShieldBlock.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBlock.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBlock.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBlock.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBlock.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.ShieldBlock.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.ShieldBlock.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBlock.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBlock.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBlock.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldBlock.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBlock.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ShieldBlock.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldBlock.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ShieldBlock.Messages.End = value
						end,
				},
			},
		},
		SpellReflect = {
			type = "group",
			name = GetSpellInfo(23920),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.SpellReflect.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.SpellReflect.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.SpellReflect.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.SpellReflect.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.SpellReflect.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.SpellReflect.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.SpellReflect.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.SpellReflect.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.SpellReflect.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.SpellReflect.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.SpellReflect.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.SpellReflect.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.SpellReflect.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.SpellReflect.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.SpellReflect.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.SpellReflect.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.SpellReflect.Messages.Start = value
						end,
				},
			},
		},
		Throwdown = {
			type = "group",
			name = "Throwdown",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Throwdown.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Throwdown.Local = value
						end,
				},
				--[[Whisper = {
					type = "toggle",
					name = L["Whisper"],
					order = 2,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Throwdown.Whisper
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Throwdown.Whisper = value
						end,
				},]]--
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Throwdown.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Throwdown.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.Throwdown.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Throwdown.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Throwdown.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Throwdown.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Throwdown.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.Throwdown.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.Throwdown.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Throwdown.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Throwdown.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Throwdown.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Throwdown.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Throwdown.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Throwdown.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Throwdown.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Throwdown.Messages.End = value
						end,
				},
			},
		},
		Recklessness = {
			type = "group",
			name = "Recklessness",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Recklessness.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Recklessness.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Recklessness.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Recklessness.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.Recklessness.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Recklessness.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Recklessness.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Recklessness.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Recklessness.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.Recklessness.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.Recklessness.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Recklessness.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Recklessness.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Recklessness.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.Recklessness.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescNoTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Recklessness.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Recklessness.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.Recklessness.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.Recklessness.Messages.End = value
						end,
				},
			},
		},
		ShieldSlamDispel = {
			type = "group",
			name = GetSpellInfo(23922) .. " Dispel",
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldSlamDispel.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldSlamDispel.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.ShieldSlamDispel.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldSlamDispel.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldSlamDispel.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescDispel,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["Resisted"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ShieldSlamDispel.Messages.End = value
						end,
				},
			},
		},
		ConcussionBlow = {
			type = "group",
			name = GetSpellInfo(12809),
			order = 25,
			args = {
				Title = {
					type = "header",
					name = L["Announce In"],
					order = 0,
				},
				Local = {
					type = "toggle",
					name = L["Local"],
					order = 1,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ConcussionBlow.Local
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ConcussionBlow.Local = value
						end,
				},
				CustomChannelEnabled = {
					type = "toggle",
					name = L["Custom Channel"], desc = L.CustomChannelDescription,
					order = 3,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ConcussionBlow.CustomChannel.Enabled
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ConcussionBlow.CustomChannel.Enabled = value
						end,
				},
				CustomChannelName = {
					type = "input",
					width = "full",
					name = L["Channel Name"],
					order = 4,
					hidden = function()
							return RSA.db.profile.Warrior.Spells.ConcussionBlow.CustomChannel.Enabled == false
						end,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ConcussionBlow.CustomChannel.Channel
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ConcussionBlow.CustomChannel.Channel = value
						end,
				},
				Raid = {
					type = "toggle",
					name = L["Raid"],
					order = 5,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ConcussionBlow.Raid
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ConcussionBlow.Raid = value
						end,
				},
				Party = {
					type = "toggle",
					name = L["Party"],
					order = 6,
					get = function(info)
								return RSA.db.profile.Warrior.Spells.ConcussionBlow.Party
							end,
					set = function (info, value)
								RSA.db.profile.Warrior.Spells.ConcussionBlow.Party = value
							end,
				},
				---- Smart Raid / Party ----
				RaidParty = {
					type = "toggle",
					name = L["Smart Group"],
					desc = L["Sends to Raid if you're in a raid, or party if you're in a party."],
					order = 7,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ConcussionBlow.Smart.RaidParty
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ConcussionBlow.Smart.RaidParty = value
						end,
				},
				Say = {
					type = "toggle",
					name = L["Say"],
					desc = L["Sends to say if you are ungrouped."],
					order = 8,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ConcussionBlow.Smart.Say
						end,
					set = function (info, value)
							RSA.db.profile.Warrior.Spells.ConcussionBlow.Smart.Say = value
						end,
				},
				---- Custom Message ----
				Title2 = {
					type = "header",
					name = L["Message"],
					order = 9,
				},
				Description = {
					type = "description",
					name = L.SpellDescTarget,
					order = 10,
				},
				Start = {
					type = "input",
					width = "full",
					name = L["Start"],
					desc = L.DescSpellStartCastingMessage,
					order = 11,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ConcussionBlow.Messages.Start
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ConcussionBlow.Messages.Start = value
						end,
				},
				End = {
					type = "input",
					width = "full",
					name = L["End"],
					desc = L.DescSpellEndCastingMessage,
					order = 12,
					get = function(info)
							return RSA.db.profile.Warrior.Spells.ConcussionBlow.Messages.End
						end,
					set = function(info, value)
							RSA.db.profile.Warrior.Spells.ConcussionBlow.Messages.End = value
						end,
				},
			},
		},		
	},
}
-- Add lib sink to config options.
--Options.args.output = RSA_O:GetSinkAce3OptionsDataTable()
-----------------------
---- Ace functions ----
function RSA_O:OnInitialize()
	self.db = LibStub("AceDB-3.0"):New("RSADB", defaults) -- Setup Saved Variables
	self:SetSinkStorage(self.db.profile) -- Setup Saved Variables for LibSink
	local pClass = select(2, UnitClass("player"))
	self.db.profile.General.Class = pClass
	-- Profile Management --
	self.db.RegisterCallback(self, "OnProfileChanged", "RefreshConfig")
	self.db.RegisterCallback(self, "OnProfileCopied", "RefreshConfig")
	self.db.RegisterCallback(self, "OnProfileReset", "RefreshConfig")
	------------------------
	db = self.db
	-- Register Various Options
	LibStub("AceConfig-3.0"):RegisterOptionsTable("RSA", Options) -- Register Options
	self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("RSA", "RSA") -- Add options to Blizzard interface
	if pClass == "DEATHKNIGHT" and RSA.db.profile.Modules.DeathKnight == true then -- Load Class Options
		LibStub("AceConfig-3.0"):RegisterOptionsTable("Spell Options", DeathKnight) -- Register Options
		self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Spell Options", "Spell Options", "RSA") -- Add options to Blizzard interface
	elseif pClass == "DRUID" and RSA.db.profile.Modules.Druid == true then
		LibStub("AceConfig-3.0"):RegisterOptionsTable("Spell Options", Druid) -- Register Options
		self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Spell Options", "Spell Options", "RSA") -- Add options to Blizzard interface
	elseif pClass == "HUNTER" and RSA.db.profile.Modules.Hunter == true then
		LibStub("AceConfig-3.0"):RegisterOptionsTable("Spell Options", Hunter) -- Register Options
		self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Spell Options", "Spell Options", "RSA") -- Add options to Blizzard interface
	elseif pClass == "MAGE" and RSA.db.profile.Modules.Mage == true then
		LibStub("AceConfig-3.0"):RegisterOptionsTable("Spell Options", Mage) -- Register Options
		self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Spell Options", "Spell Options", "RSA") -- Add options to Blizzard interface
	elseif pClass == "PALADIN" and RSA.db.profile.Modules.Paladin == true then
		LibStub("AceConfig-3.0"):RegisterOptionsTable("Spell Options", Paladin) -- Register Options
		self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Spell Options", "Spell Options", "RSA") -- Add options to Blizzard interface
	elseif pClass == "PRIEST" and RSA.db.profile.Modules.Priest == true then
		LibStub("AceConfig-3.0"):RegisterOptionsTable("Spell Options", Priest) -- Register Options
		self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Spell Options", "Spell Options", "RSA") -- Add options to Blizzard interface
	elseif pClass == "ROGUE" and RSA.db.profile.Modules.Rogue == true then
		LibStub("AceConfig-3.0"):RegisterOptionsTable("Spell Options", Rogue) -- Register Options
		self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Spell Options", "Spell Options", "RSA") -- Add options to Blizzard interface
	elseif pClass == "SHAMAN" and RSA.db.profile.Modules.Shaman == true then
		LibStub("AceConfig-3.0"):RegisterOptionsTable("Spell Options", Shaman) -- Register Options
		self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Spell Options", "Spell Options", "RSA") -- Add options to Blizzard interface
	elseif pClass == "WARLOCK" and RSA.db.profile.Modules.Warlock == true then
		LibStub("AceConfig-3.0"):RegisterOptionsTable("Spell Options", Warlock) -- Register Options
		self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Spell Options", "Spell Options", "RSA") -- Add options to Blizzard interface
	elseif pClass == "WARRIOR" and RSA.db.profile.Modules.Warrior == true then
		LibStub("AceConfig-3.0"):RegisterOptionsTable("Spell Options", Warrior) -- Register Options
		self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Spell Options", "Spell Options", "RSA") -- Add options to Blizzard interface
	end
	LibStub("AceConfig-3.0"):RegisterOptionsTable("Reminders", Reminders) -- Register Options
	self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("Reminders", "Buff Reminders", "RSA") -- Add options to Blizzard interface
	Profiles = LibStub("AceDBOptions-3.0"):GetOptionsTable(self.db) -- Add profile management to Blizzard interface
	LibStub("AceConfig-3.0"):RegisterOptionsTable("RSA_Profiles", Profiles) -- Register Options
	self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("RSA_Profiles", "Profiles", "RSA") -- Add options to Blizzard interface
	LibStub("AceConfig-3.0"):RegisterOptionsTable("RSA_FAQ", FAQ) -- Register Options
	self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("RSA_FAQ", "Help", "RSA") -- Add options to Blizzard interface

	-- Add dual-spec support
	local LibDualSpec = LibStub('LibDualSpec-1.0')
	LibDualSpec:EnhanceDatabase(self.db, "RSA")
	LibDualSpec:EnhanceOptions(Profiles, self.db)
end
function RSA_O:RefreshConfig(event, database, newProfileKey) -- Seems to be working fine.
	RSA.db = database -- Setup Saved Variables
	if RSA.db.profile.Modules.Reminders == true then
		local loaded, reason = LoadAddOn("RSA_Reminders")
		if not loaded then
			if reason == "DISABLED" or reason == "INTERFACE_VERSION" then
				ChatFrame1:AddMessage("|cFFFF75B3RSA:|r Reminders " .. L.OptionsDisabled)
			elseif reason == "MISSING" or reason == "CORRUPT" then
				ChatFrame1:AddMessage("|cFFFF75B3RSA:|r Reminders " .. L.OptionsMissing)
			end
		else
			RSA:EnableModule("Reminders")
		end
	else
		if LoadAddOn("RSA_Reminders") == 1 then
			RSA:DisableModule("Reminders")
		end
	end
end